install base database in MigrateDatabaseCommand

This commit is contained in:
Bence Pőcze 2023-09-16 20:29:55 +02:00
parent cd17f44de0
commit f5950658df
Signed by: bence
GPG Key ID: DC5BD6E95A333E6D

View File

@ -19,6 +19,8 @@ class MigrateDatabaseCommand extends Command
{ {
$db = \Container::$dbConnection; $db = \Container::$dbConnection;
$this->createBaseDb();
$db->startTransaction(); $db->startTransaction();
$success = []; $success = [];
@ -62,10 +64,8 @@ class MigrateDatabaseCommand extends Command
return 0; return 0;
} }
private function readDir(string $type): array private function createBaseDb()
{ {
$done = [];
$migrationTableExists = \Container::$dbConnection->query('SELECT count(*) $migrationTableExists = \Container::$dbConnection->query('SELECT count(*)
FROM information_schema.tables FROM information_schema.tables
WHERE table_schema = \'' . $_ENV['DB_NAME'] . '\' WHERE table_schema = \'' . $_ENV['DB_NAME'] . '\'
@ -73,6 +73,16 @@ class MigrateDatabaseCommand extends Command
->fetch(IResultSet::FETCH_NUM)[0]; ->fetch(IResultSet::FETCH_NUM)[0];
if ($migrationTableExists != 0) { if ($migrationTableExists != 0) {
return;
}
\Container::$dbConnection->multiQuery(file_get_contents(ROOT . '/database/mapguesser.sql'));
}
private function readDir(string $type): array
{
$done = [];
$select = new Select(\Container::$dbConnection, 'migrations'); $select = new Select(\Container::$dbConnection, 'migrations');
$select->columns(['migration']); $select->columns(['migration']);
$select->where('type', '=', $type); $select->where('type', '=', $type);
@ -83,7 +93,6 @@ class MigrateDatabaseCommand extends Command
while ($migration = $result->fetch(IResultSet::FETCH_ASSOC)) { while ($migration = $result->fetch(IResultSet::FETCH_ASSOC)) {
$done[] = $migration['migration']; $done[] = $migration['migration'];
} }
}
$path = ROOT . '/database/migrations/' . $type; $path = ROOT . '/database/migrations/' . $type;
$dir = opendir($path); $dir = opendir($path);