Merge pull request #9585 from annando/initial

Command line option to check initial values
2022.09-rc
Hypolite Petovan 2020-11-23 14:21:54 -05:00 zatwierdzone przez GitHub
commit f7b4b142af
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 58 dodań i 11 usunięć

Wyświetl plik

@ -55,6 +55,7 @@ Commands
update Update database schema
dumpsql Dump database schema
toinnodb Convert all tables from MyISAM or InnoDB in the Antelope file format to InnoDB in the Barracuda file format
initial Set needed initial values in the tables
version Set the database to a given number
Options
@ -123,7 +124,11 @@ HELP;
DBStructure::setDatabaseVersion($this->getArgument(1));
$output = ob_get_clean();
break;
case "initial":
ob_start();
DBStructure::checkInitialValues(true);
$output = ob_get_clean();
break;
default:
$output = 'Unknown command: ' . $this->getArgument(0);
}

Wyświetl plik

@ -1046,20 +1046,34 @@ class DBStructure
/**
* Check if initial database values do exist - or create them
*/
public static function checkInitialValues()
public static function checkInitialValues(bool $verbose = false)
{
if (self::existsTable('verb') && !DBA::exists('verb', ['id' => 1])) {
foreach (Item::ACTIVITIES as $index => $activity) {
DBA::insert('verb', ['id' => $index + 1, 'name' => $activity], Database::INSERT_IGNORE);
if (self::existsTable('verb')) {
if (!DBA::exists('verb', ['id' => 1])) {
foreach (Item::ACTIVITIES as $index => $activity) {
DBA::insert('verb', ['id' => $index + 1, 'name' => $activity], Database::INSERT_IGNORE);
}
if ($verbose) {
echo "verb: activities added\n";
}
} elseif ($verbose) {
echo "verb: activities already added\n";
}
}
if (self::existsTable('verb') && !DBA::exists('verb', ['id' => 0])) {
DBA::insert('verb', ['name' => '']);
$lastid = DBA::lastInsertId();
if ($lastid != 0) {
DBA::update('verb', ['id' => 0], ['id' => $lastid]);
if (!DBA::exists('verb', ['id' => 0])) {
DBA::insert('verb', ['name' => '']);
$lastid = DBA::lastInsertId();
if ($lastid != 0) {
DBA::update('verb', ['id' => 0], ['id' => $lastid]);
if ($verbose) {
echo "Zero verb added\n";
}
}
} elseif ($verbose) {
echo "Zero verb already added\n";
}
} elseif ($verbose) {
echo "verb: Table not found\n";
}
if (self::existsTable('user') && !DBA::exists('user', ['uid' => 0])) {
@ -1072,7 +1086,14 @@ class DBStructure
$lastid = DBA::lastInsertId();
if ($lastid != 0) {
DBA::update('user', ['uid' => 0], ['uid' => $lastid]);
if ($verbose) {
echo "Zero user added\n";
}
}
} elseif (self::existsTable('user')) {
echo "Zero user already added\n";
} else {
echo "user: Table not found\n";
}
if (self::existsTable('contact') && !DBA::exists('contact', ['id' => 0])) {
@ -1080,7 +1101,14 @@ class DBStructure
$lastid = DBA::lastInsertId();
if ($lastid != 0) {
DBA::update('contact', ['id' => 0], ['id' => $lastid]);
if ($verbose) {
echo "Zero contact added\n";
}
}
} elseif (self::existsTable('contact')) {
echo "Zero contact already added\n";
} else {
echo "contact: Table not found\n";
}
if (self::existsTable('permissionset')) {
@ -1089,7 +1117,12 @@ class DBStructure
$lastid = DBA::lastInsertId();
if ($lastid != 0) {
DBA::update('permissionset', ['id' => 0], ['id' => $lastid]);
if ($verbose) {
echo "Zero tag added\n";
}
}
} elseif ($verbose) {
echo "Zero permissionset already added\n";
}
if (!self::existsForeignKeyForField('item', 'psid')) {
$sets = DBA::p("SELECT `psid`, `item`.`uid`, `item`.`private` FROM `item`
@ -1112,6 +1145,8 @@ class DBStructure
}
DBA::close($sets);
}
} elseif ($verbose) {
echo "permissionset: Table not found\n";
}
if (self::existsTable('tag') && !DBA::exists('tag', ['id' => 0])) {
@ -1119,7 +1154,14 @@ class DBStructure
$lastid = DBA::lastInsertId();
if ($lastid != 0) {
DBA::update('tag', ['id' => 0], ['id' => $lastid]);
if ($verbose) {
echo "Zero tag added\n";
}
}
} elseif (self::existsTable('tag')) {
echo "Zero tag already added\n";
} else {
echo "tag: Table not found\n";
}
if (!self::existsForeignKeyForField('tokens', 'client_id')) {