Merge pull request #9585 from annando/initial
Command line option to check initial values
This commit is contained in:
commit
f7b4b142af
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -1046,21 +1046,35 @@ 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])) {
|
||||
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])) {
|
||||
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])) {
|
||||
$user = [
|
||||
|
@ -1072,16 +1086,30 @@ 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])) {
|
||||
DBA::insert('contact', ['nurl' => '']);
|
||||
$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')) {
|
||||
if (!DBA::exists('permissionset', ['id' => 0])) {
|
||||
|
@ -1089,8 +1117,13 @@ 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`
|
||||
LEFT JOIN `permissionset` ON `permissionset`.`id` = `item`.`psid`
|
||||
|
@ -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,8 +1154,15 @@ 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')) {
|
||||
$tokens = DBA::p("SELECT `tokens`.`id` FROM `tokens`
|
||||
|
|
Loading…
Reference in a new issue