Fix sqlite migrations for preferences.

This commit is contained in:
D3athrow
2016-02-11 15:32:01 -06:00
parent 85441cb24f
commit 1ae0d5643e
3 changed files with 6 additions and 4 deletions

View File

@@ -3,11 +3,11 @@
name = "Add Progress Bars" name = "Add Progress Bars"
/datum/migration/sqlite/ss13_prefs/_002/up() /datum/migration/sqlite/ss13_prefs/_002/up()
if(!hasColumn("progress_bars")) if(!hasColumn("client","progress_bars"))
return execute("ALTER TABLE `client` ADD COLUMN progress_bars INTEGER DEFAULT 1") return execute("ALTER TABLE `client` ADD COLUMN progress_bars INTEGER DEFAULT 1")
return TRUE return TRUE
/datum/migration/sqlite/ss13_prefs/_002/down() /datum/migration/sqlite/ss13_prefs/_002/down()
if(hasColumn("progress_bars")) if(hasColumn("client","progress_bars"))
return execute("ALTER TABLE `client` DROP COLUMN progress_bars") return execute("ALTER TABLE `client` DROP COLUMN progress_bars")
return TRUE return TRUE

View File

@@ -67,7 +67,8 @@ CREATE TABLE IF NOT EXISTS [TABLE_NAME] (
return FALSE return FALSE
/datum/migration_controller/sqlite/hasTable(var/tableName) /datum/migration_controller/sqlite/hasTable(var/tableName)
return hasResult("SELECT name FROM sqlite_master WHERE type='[tableName]'") var/exists = hasResult("SELECT name FROM sqlite_master WHERE type='table' AND name='[tableName]';")
return exists
#ifdef DEBUG_SQLITE_MIGCON #ifdef DEBUG_SQLITE_MIGCON
#undef _DEBUG #undef _DEBUG

View File

@@ -40,7 +40,8 @@
return TRUE return TRUE
/datum/migration/sqlite/hasTable(var/tableName) /datum/migration/sqlite/hasTable(var/tableName)
return hasResult("SELECT name FROM sqlite_master WHERE type='[tableName]'") var/exists = hasResult("SELECT name FROM sqlite_master WHERE type='table' AND name='[tableName]';")
return exists
/datum/migration/sqlite/hasColumn(var/tableName, var/columnName) /datum/migration/sqlite/hasColumn(var/tableName, var/columnName)
for(var/list/row in query("PRAGMA table_info([tableName])")) // Can't be turned into a SELECT. for(var/list/row in query("PRAGMA table_info([tableName])")) // Can't be turned into a SELECT.