From 85fb34e20ff167aa2f484ca25129b4a6dedfa8df Mon Sep 17 00:00:00 2001 From: Shish Date: Tue, 14 Feb 2012 06:33:59 +0000 Subject: [PATCH] allow failed upgrades --- ext/upgrade/main.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ext/upgrade/main.php b/ext/upgrade/main.php index a61b0860..cb2847b1 100644 --- a/ext/upgrade/main.php +++ b/ext/upgrade/main.php @@ -25,18 +25,21 @@ class Upgrade extends Extension { // now done again as v9 with PDO if($config->get_int("db_version") < 8) { - // if this fails, don't try again $config->set_bool("in_upgrade", true); $config->set_int("db_version", 8); + $database->execute($database->engine->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); } if($config->get_int("db_version") < 9) { $config->set_bool("in_upgrade", true); + $config->set_int("db_version", 9); + if($database->db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') { $tables = $database->get_col("SHOW TABLES"); foreach($tables as $table) { @@ -44,18 +47,18 @@ class Upgrade extends Extension { $database->execute("ALTER TABLE $table TYPE=INNODB"); } } - $config->set_int("db_version", 9); + 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); log_info("upgrade", "Adding foreign keys to images"); $database->Execute("ALTER TABLE images ADD CONSTRAINT foreign_images_owner_id FOREIGN KEY (owner_id) REFERENCES users(id) ON DELETE RESTRICT"); - $config->set_int("db_version", 10); log_info("upgrade", "Database at version 10"); $config->set_bool("in_upgrade", false); }