forked from Cavemanon/cavepaintings
PSR-2. I'm not a huge fan, but ugly consistency beats no consistency...
This commit is contained in:
@@ -7,128 +7,132 @@
|
||||
* Visibility: admin
|
||||
*/
|
||||
|
||||
class Upgrade extends Extension {
|
||||
public function onInitExt(InitExtEvent $event) {
|
||||
global $config, $database;
|
||||
class Upgrade extends Extension
|
||||
{
|
||||
public function onInitExt(InitExtEvent $event)
|
||||
{
|
||||
global $config, $database;
|
||||
|
||||
if($config->get_bool("in_upgrade")) return;
|
||||
if ($config->get_bool("in_upgrade")) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(!is_numeric($config->get_string("db_version"))) {
|
||||
$config->set_int("db_version", 2);
|
||||
}
|
||||
if (!is_numeric($config->get_string("db_version"))) {
|
||||
$config->set_int("db_version", 2);
|
||||
}
|
||||
|
||||
if($config->get_int("db_version") < 6) {
|
||||
// cry :S
|
||||
}
|
||||
if ($config->get_int("db_version") < 6) {
|
||||
// cry :S
|
||||
}
|
||||
|
||||
// v7 is convert to innodb with adodb
|
||||
// now done again as v9 with PDO
|
||||
// v7 is convert to innodb with adodb
|
||||
// now done again as v9 with PDO
|
||||
|
||||
if($config->get_int("db_version") < 8) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 8);
|
||||
if ($config->get_int("db_version") < 8) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 8);
|
||||
|
||||
$database->execute($database->scoreql_to_sql(
|
||||
"ALTER TABLE images ADD COLUMN locked SCORE_BOOL NOT NULL DEFAULT SCORE_BOOL_N"
|
||||
));
|
||||
$database->execute($database->scoreql_to_sql(
|
||||
"ALTER TABLE images ADD COLUMN locked SCORE_BOOL NOT NULL DEFAULT SCORE_BOOL_N"
|
||||
));
|
||||
|
||||
log_info("upgrade", "Database at version 8");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
log_info("upgrade", "Database at version 8");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
|
||||
if($config->get_int("db_version") < 9) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 9);
|
||||
if ($config->get_int("db_version") < 9) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 9);
|
||||
|
||||
if($database->get_driver_name() == 'mysql') {
|
||||
$tables = $database->get_col("SHOW TABLES");
|
||||
foreach($tables as $table) {
|
||||
log_info("upgrade", "converting $table to innodb");
|
||||
$database->execute("ALTER TABLE $table ENGINE=INNODB");
|
||||
}
|
||||
}
|
||||
if ($database->get_driver_name() == 'mysql') {
|
||||
$tables = $database->get_col("SHOW TABLES");
|
||||
foreach ($tables as $table) {
|
||||
log_info("upgrade", "converting $table to innodb");
|
||||
$database->execute("ALTER TABLE $table ENGINE=INNODB");
|
||||
}
|
||||
}
|
||||
|
||||
log_info("upgrade", "Database at version 9");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
log_info("upgrade", "Database at version 9");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
|
||||
if($config->get_int("db_version") < 10) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 10);
|
||||
if ($config->get_int("db_version") < 10) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 10);
|
||||
|
||||
log_info("upgrade", "Adding foreign keys to images");
|
||||
$database->Execute("ALTER TABLE images ADD FOREIGN KEY (owner_id) REFERENCES users(id) ON DELETE RESTRICT");
|
||||
|
||||
log_info("upgrade", "Database at version 10");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
log_info("upgrade", "Adding foreign keys to images");
|
||||
$database->Execute("ALTER TABLE images ADD FOREIGN KEY (owner_id) REFERENCES users(id) ON DELETE RESTRICT");
|
||||
|
||||
log_info("upgrade", "Database at version 10");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
|
||||
if($config->get_int("db_version") < 11) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 11);
|
||||
if ($config->get_int("db_version") < 11) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 11);
|
||||
|
||||
log_info("upgrade", "Converting user flags to classes");
|
||||
$database->execute("ALTER TABLE users ADD COLUMN class VARCHAR(32) NOT NULL default :user", array("user" => "user"));
|
||||
$database->execute("UPDATE users SET class = :name WHERE id=:id", array("name"=>"anonymous", "id"=>$config->get_int('anon_id')));
|
||||
$database->execute("UPDATE users SET class = :name WHERE admin=:admin", array("name"=>"admin", "admin"=>'Y'));
|
||||
log_info("upgrade", "Converting user flags to classes");
|
||||
$database->execute("ALTER TABLE users ADD COLUMN class VARCHAR(32) NOT NULL default :user", ["user" => "user"]);
|
||||
$database->execute("UPDATE users SET class = :name WHERE id=:id", ["name"=>"anonymous", "id"=>$config->get_int('anon_id')]);
|
||||
$database->execute("UPDATE users SET class = :name WHERE admin=:admin", ["name"=>"admin", "admin"=>'Y']);
|
||||
|
||||
log_info("upgrade", "Database at version 11");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
log_info("upgrade", "Database at version 11");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
|
||||
if($config->get_int("db_version") < 12) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 12);
|
||||
if ($config->get_int("db_version") < 12) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 12);
|
||||
|
||||
if($database->get_driver_name() == 'pgsql') {
|
||||
log_info("upgrade", "Changing ext column to VARCHAR");
|
||||
$database->execute("ALTER TABLE images ALTER COLUMN ext SET DATA TYPE VARCHAR(4)");
|
||||
}
|
||||
if ($database->get_driver_name() == 'pgsql') {
|
||||
log_info("upgrade", "Changing ext column to VARCHAR");
|
||||
$database->execute("ALTER TABLE images ALTER COLUMN ext SET DATA TYPE VARCHAR(4)");
|
||||
}
|
||||
|
||||
log_info("upgrade", "Lowering case of all exts");
|
||||
$database->execute("UPDATE images SET ext = LOWER(ext)");
|
||||
log_info("upgrade", "Lowering case of all exts");
|
||||
$database->execute("UPDATE images SET ext = LOWER(ext)");
|
||||
|
||||
log_info("upgrade", "Database at version 12");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
log_info("upgrade", "Database at version 12");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
|
||||
if($config->get_int("db_version") < 13) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 13);
|
||||
if ($config->get_int("db_version") < 13) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 13);
|
||||
|
||||
log_info("upgrade", "Changing password column to VARCHAR(250)");
|
||||
if($database->get_driver_name() == 'pgsql') {
|
||||
$database->execute("ALTER TABLE users ALTER COLUMN pass SET DATA TYPE VARCHAR(250)");
|
||||
}
|
||||
else if($database->get_driver_name() == 'mysql') {
|
||||
$database->execute("ALTER TABLE users CHANGE pass pass VARCHAR(250)");
|
||||
}
|
||||
log_info("upgrade", "Changing password column to VARCHAR(250)");
|
||||
if ($database->get_driver_name() == 'pgsql') {
|
||||
$database->execute("ALTER TABLE users ALTER COLUMN pass SET DATA TYPE VARCHAR(250)");
|
||||
} elseif ($database->get_driver_name() == 'mysql') {
|
||||
$database->execute("ALTER TABLE users CHANGE pass pass VARCHAR(250)");
|
||||
}
|
||||
|
||||
log_info("upgrade", "Database at version 13");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
log_info("upgrade", "Database at version 13");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
|
||||
if($config->get_int("db_version") < 14) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 14);
|
||||
if ($config->get_int("db_version") < 14) {
|
||||
$config->set_bool("in_upgrade", true);
|
||||
$config->set_int("db_version", 14);
|
||||
|
||||
log_info("upgrade", "Changing tag column to VARCHAR(255)");
|
||||
if($database->get_driver_name() == 'pgsql') {
|
||||
$database->execute('ALTER TABLE tags ALTER COLUMN tag SET DATA TYPE VARCHAR(255)');
|
||||
$database->execute('ALTER TABLE aliases ALTER COLUMN oldtag SET DATA TYPE VARCHAR(255)');
|
||||
$database->execute('ALTER TABLE aliases ALTER COLUMN newtag SET DATA TYPE VARCHAR(255)');
|
||||
}
|
||||
else if($database->get_driver_name() == 'mysql') {
|
||||
$database->execute('ALTER TABLE tags MODIFY COLUMN tag VARCHAR(255) NOT NULL');
|
||||
$database->execute('ALTER TABLE aliases MODIFY COLUMN oldtag VARCHAR(255) NOT NULL');
|
||||
$database->execute('ALTER TABLE aliases MODIFY COLUMN newtag VARCHAR(255) NOT NULL');
|
||||
}
|
||||
log_info("upgrade", "Changing tag column to VARCHAR(255)");
|
||||
if ($database->get_driver_name() == 'pgsql') {
|
||||
$database->execute('ALTER TABLE tags ALTER COLUMN tag SET DATA TYPE VARCHAR(255)');
|
||||
$database->execute('ALTER TABLE aliases ALTER COLUMN oldtag SET DATA TYPE VARCHAR(255)');
|
||||
$database->execute('ALTER TABLE aliases ALTER COLUMN newtag SET DATA TYPE VARCHAR(255)');
|
||||
} elseif ($database->get_driver_name() == 'mysql') {
|
||||
$database->execute('ALTER TABLE tags MODIFY COLUMN tag VARCHAR(255) NOT NULL');
|
||||
$database->execute('ALTER TABLE aliases MODIFY COLUMN oldtag VARCHAR(255) NOT NULL');
|
||||
$database->execute('ALTER TABLE aliases MODIFY COLUMN newtag VARCHAR(255) NOT NULL');
|
||||
}
|
||||
|
||||
log_info("upgrade", "Database at version 14");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
}
|
||||
log_info("upgrade", "Database at version 14");
|
||||
$config->set_bool("in_upgrade", false);
|
||||
}
|
||||
}
|
||||
|
||||
public function get_priority(): int {return 5;}
|
||||
public function get_priority(): int
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user