There are three oversights in the SQLite schema support: unsigned constraints are not implemented, DatabaseSchema_sqlite::alterTable() has not been ported to the new signature of SelectQuery::fields(), and DatabaseSchema_sqlite::indexExists() uses the wrong index name.

Comments

damien tournoud’s picture

Status: Active » Needs review
StatusFileSize
new2.02 KB

Here. It's mostly straightforward.

damien tournoud’s picture

StatusFileSize
new3.23 KB

Actually, there is another issue: because there is no "RENAME INDEX" command in SQLite, we need to drop and recreate indexes in DatabaseSchema_sqlite::renameTable(), or the index names will not match the table name after the rename.

Status: Needs review » Needs work

The last submitted patch, 716006-schema-test-failures-sqlite.patch, failed testing.

damien tournoud’s picture

Status: Needs work » Closed (duplicate)

That last patch should have passed, because the test bot doesn't test SQLite :)

Andypost posted a nice patch fixing some related failures in the PostgreSQL driver at #720620: indexExists() for pgsql and sqlite does not prefix tablename. Marking this issue as a duplicate.