Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
14f07e6
Add SQLite support
erseco Mar 13, 2026
785c95d
Add SQLite support
erseco Mar 13, 2026
1d25dcb
Merge branch 'master' into feature/add-sqlite-support
erseco Jun 29, 2026
6d1884e
Merge branch 'master' into feature/add-sqlite-support
erseco Jul 2, 2026
97bc131
Merge branch 'master' into feature/add-sqlite-support
erseco Jul 6, 2026
38ba61c
Merge branch 'master' into feature/add-sqlite-support
erseco Jul 8, 2026
64f5bd8
Merge branch 'master' of github.com:erseco/facturascripts into featur…
erseco Jul 19, 2026
a2f5d7b
Merge branch 'feature/add-sqlite-support' of github.com:erseco/factur…
erseco Jul 19, 2026
3abb6f2
Merge branch 'master' into feature/add-sqlite-support
erseco Jul 21, 2026
84a4f60
Merge branch 'master' into feature/add-sqlite-support
erseco Jul 30, 2026
6dde80f
Compara la longitud de subcuentas como entero para que funcione en SQ…
erseco Jul 31, 2026
c205ddc
Merge branch 'master' into feature/add-sqlite-support
erseco Aug 2, 2026
6384b81
Merge branch 'master' into feature/add-sqlite-support
erseco Aug 11, 2026
ed36da0
Merge branch 'master' into feature/add-sqlite-support
erseco Aug 16, 2026
72c496d
Merge branch 'master' into feature/add-sqlite-support
erseco Aug 21, 2026
b710ab1
Merge branch 'master' into feature/add-sqlite-support
erseco Aug 21, 2026
8e65a8d
Merge branch 'master' into feature/add-sqlite-support
erseco Aug 24, 2026
ce264b6
Merge branch 'master' into feature/add-sqlite-support
erseco Aug 26, 2026
544577e
Merge branch 'master' into feature/add-sqlite-support
erseco Aug 28, 2026
3972e42
Merge branch 'master' into feature/add-sqlite-support
erseco Aug 30, 2026
a927e7e
Merge branch 'master' into feature/add-sqlite-support
erseco Aug 31, 2026
6108960
Merge branch 'master' into feature/add-sqlite-support
erseco Sep 1, 2026
95dfda6
Merge branch 'master' into feature/add-sqlite-support
erseco Sep 2, 2026
4f5fb6c
Merge branch 'master' into feature/add-sqlite-support
erseco Sep 5, 2026
b46376c
Merge branch 'master' into feature/add-sqlite-support
erseco Sep 6, 2026
759dbe2
Merge branch 'master' into feature/add-sqlite-support
erseco Sep 12, 2026
8959486
Merge branch 'master' into feature/add-sqlite-support
erseco Sep 20, 2026
d29bab5
Merge branch 'master' into feature/add-sqlite-support
erseco Sep 21, 2026
9f88e30
Merge branch 'master' into feature/add-sqlite-support
erseco Sep 24, 2026
ccb122e
Merge branch 'master' into feature/add-sqlite-support
erseco Sep 27, 2026
5dd5268
Merge branch 'master' into feature/add-sqlite-support
erseco Sep 28, 2026
089afc6
Merge branch 'master' into feature/add-sqlite-support
erseco Sep 30, 2026
4faac9a
Merge branch 'master' into feature/add-sqlite-support
erseco Oct 1, 2026
a35ddcb
Merge branch 'master' into feature/add-sqlite-support
erseco Oct 3, 2026
f8a7ec9
Merge branch 'master' into feature/add-sqlite-support
erseco Oct 4, 2026
1850cb9
Merge branch 'master' into feature/add-sqlite-support
erseco Oct 5, 2026
b876975
Merge branch 'master' into feature/add-sqlite-support
erseco Oct 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 29 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ jobs:
- type: postgresql
version: '13'
port: 5432
- type: sqlite
version: '3'
port: 0
fail-fast: false

name: PHP ${{ matrix.php-version }} - ${{ matrix.database.type }} ${{ matrix.database.version }}
Expand Down Expand Up @@ -83,7 +86,7 @@ jobs:
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: bcmath, curl, gd, iconv, mysqli, pdo_mysql, pdo_pgsql, pgsql, soap, zip, fileinfo, openssl, simplexml, mbstring, intl
extensions: bcmath, curl, gd, iconv, mysqli, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, soap, zip, fileinfo, openssl, simplexml, mbstring, intl
coverage: xdebug
tools: composer:v2
env:
Expand All @@ -109,10 +112,13 @@ jobs:
echo "Testing ${{ matrix.database.type }} ${{ matrix.database.version }} connection..."
mysql --host=${{ env.DB_HOST }} --user=${{ env.DB_USER }} --password=${{ env.DB_PASS }} -e "SHOW DATABASES;"
mysql --host=${{ env.DB_HOST }} --user=${{ env.DB_USER }} --password=${{ env.DB_PASS }} -e "SELECT VERSION();"
else
elif [ "${{ matrix.database.type }}" = "postgresql" ]; then
echo "Testing PostgreSQL ${{ matrix.database.version }} connection..."
PGPASSWORD=${{ env.DB_PASS }} psql -h ${{ env.DB_HOST }} -U ${{ env.DB_USER }} -d ${{ env.DB_NAME }} -c "\l"
PGPASSWORD=${{ env.DB_PASS }} psql -h ${{ env.DB_HOST }} -U ${{ env.DB_USER }} -d ${{ env.DB_NAME }} -c "SELECT version();"
else
echo "Testing SQLite ${{ matrix.database.version }} support..."
php -r 'exit(in_array("sqlite", PDO::getAvailableDrivers(), true) ? 0 : 1);'
fi

- name: Create application config
Expand All @@ -139,7 +145,7 @@ jobs:
define('FS_DISABLE_ADD_PLUGINS', false);
define('FS_DISABLE_RM_PLUGINS', false);
EOF
else
elif [ "${{ matrix.database.type }}" = "postgresql" ]; then
cat > config.php << 'EOF'
<?php
define('FS_COOKIES_EXPIRE', 31536000);
Expand All @@ -159,6 +165,26 @@ jobs:
define('FS_DISABLE_ADD_PLUGINS', false);
define('FS_DISABLE_RM_PLUGINS', false);
EOF
else
cat > config.php << 'EOF'
<?php
define('FS_COOKIES_EXPIRE', 31536000);
define('FS_ROUTE', '');
define('FS_DB_TYPE', 'sqlite');
define('FS_DB_HOST', '');
define('FS_DB_PORT', 0);
define('FS_DB_NAME', 'MyFiles/facturascripts_test.sqlite');
define('FS_DB_USER', '');
define('FS_DB_PASS', '');
define('FS_DB_FOREIGN_KEYS', true);
define('FS_DB_TYPE_CHECK', true);
define('FS_LANG', 'es_ES');
define('FS_TIMEZONE', 'Europe/Madrid');
define('FS_HIDDEN_PLUGINS', '');
define('FS_DEBUG', true);
define('FS_DISABLE_ADD_PLUGINS', false);
define('FS_DISABLE_RM_PLUGINS', false);
EOF
fi

- name: Run PHPUnit tests
Expand Down
7 changes: 6 additions & 1 deletion Core/Base/DataBase.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,12 @@
use FacturaScripts\Core\Base\DataBase\DataBaseEngine;
use FacturaScripts\Core\Base\DataBase\MysqlEngine;
use FacturaScripts\Core\Base\DataBase\PostgresqlEngine;
use FacturaScripts\Core\Base\DataBase\SqliteEngine;
use FacturaScripts\Core\KernelException;
use FacturaScripts\Core\Tools;

/**
* Generic class of access to the database, either MySQL or PostgreSQL.
* Generic class of access to the database, either MySQL, PostgreSQL or SQLite.
*
* @author Carlos García Gómez <carlos@facturascripts.com>
* @author Jose Antonio Cuello Principal <yopli2000@gmail.com>
Expand Down Expand Up @@ -84,6 +85,10 @@ public function __construct()
self::$engine = new PostgresqlEngine();
break;

case 'sqlite':
self::$engine = new SqliteEngine();
break;

default:
self::$engine = new MysqlEngine();
break;
Expand Down
Loading