migration to mysql
Some checks failed
PHPUnit / test (push) Has been cancelled

This commit is contained in:
2026-07-10 09:57:44 +02:00
parent 351af170a0
commit 810ed24792
24 changed files with 986 additions and 208 deletions

View File

@ -16,8 +16,8 @@ final class DbInitTest extends QdbTestCase
qdb_discard($t1, $l1);
[$pdo2, $t2, $l2] = qdb_open(true);
$pdo2->exec("INSERT INTO language (languageCode, name) VALUES ('fr', 'French')
ON CONFLICT(languageCode) DO NOTHING");
$pdo2->exec("INSERT INTO language (languageCode, name) VALUES ('fr', 'French') "
. qdb_upsert_do_nothing(['languageCode']));
qdb_save($t2, $l2);
[$pdo3, $t3, $l3] = qdb_open(false);
@ -35,6 +35,26 @@ final class DbInitTest extends QdbTestCase
qdb_discard($tmp, $lock);
}
public function testSchemaSqlContentIsExecutedDirectly(): void
{
$pdo = new \PDO('sqlite::memory:');
$pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
qdb_exec_schema_sql($pdo, 'CREATE TABLE schema_sql_test (id INTEGER PRIMARY KEY);');
$this->assertTrue(qdb_table_exists($pdo, 'schema_sql_test'));
}
public function testRuntimeDriverOverrideWinsOverConfiguration(): void
{
qdb_env_override('QDB_DRIVER', 'mysql');
$this->assertSame('mysql', qdb_env_get('QDB_DRIVER'));
$this->assertTrue(qdb_is_mysql());
qdb_env_override('QDB_DRIVER', 'sqlite');
$this->assertTrue(qdb_is_sqlite());
}
public function testMigrationsRecreateDroppedSubmissionTables(): void
{
[$pdo, $tmp, $lock] = qdb_open(true);