From 9659a6da06852ede9bf6b87c0e39a543e88a5034 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Tue, 27 Jun 2017 08:02:08 -0700 Subject: Stage 1 of caching layer. Framework (#6693) --- store/sql_upgrade.go | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) (limited to 'store/sql_upgrade.go') diff --git a/store/sql_upgrade.go b/store/sql_upgrade.go index 11b726712..ef255c5c2 100644 --- a/store/sql_upgrade.go +++ b/store/sql_upgrade.go @@ -36,7 +36,7 @@ const ( EXIT_THEME_MIGRATION = 1004 ) -func UpgradeDatabase(sqlStore *SqlStore) { +func UpgradeDatabase(sqlStore SqlStore) { UpgradeDatabaseToVersion31(sqlStore) UpgradeDatabaseToVersion32(sqlStore) @@ -52,38 +52,36 @@ func UpgradeDatabase(sqlStore *SqlStore) { // If the SchemaVersion is empty this this is the first time it has ran // so lets set it to the current version. - if sqlStore.SchemaVersion == "" { - if result := <-sqlStore.system.SaveOrUpdate(&model.System{Name: "Version", Value: model.CurrentVersion}); result.Err != nil { + if sqlStore.GetCurrentSchemaVersion() == "" { + if result := <-sqlStore.System().SaveOrUpdate(&model.System{Name: "Version", Value: model.CurrentVersion}); result.Err != nil { l4g.Critical(result.Err.Error()) time.Sleep(time.Second) os.Exit(EXIT_VERSION_SAVE_MISSING) } - sqlStore.SchemaVersion = model.CurrentVersion l4g.Info(utils.T("store.sql.schema_set.info"), model.CurrentVersion) } // If we're not on the current version then it's too old to be upgraded - if sqlStore.SchemaVersion != model.CurrentVersion { - l4g.Critical(utils.T("store.sql.schema_version.critical"), sqlStore.SchemaVersion) + if sqlStore.GetCurrentSchemaVersion() != model.CurrentVersion { + l4g.Critical(utils.T("store.sql.schema_version.critical"), sqlStore.GetCurrentSchemaVersion()) time.Sleep(time.Second) os.Exit(EXIT_TOO_OLD) } } -func saveSchemaVersion(sqlStore *SqlStore, version string) { - if result := <-sqlStore.system.Update(&model.System{Name: "Version", Value: version}); result.Err != nil { +func saveSchemaVersion(sqlStore SqlStore, version string) { + if result := <-sqlStore.System().Update(&model.System{Name: "Version", Value: version}); result.Err != nil { l4g.Critical(result.Err.Error()) time.Sleep(time.Second) os.Exit(EXIT_VERSION_SAVE) } - sqlStore.SchemaVersion = version l4g.Warn(utils.T("store.sql.upgraded.warn"), version) } -func shouldPerformUpgrade(sqlStore *SqlStore, currentSchemaVersion string, expectedSchemaVersion string) bool { - if sqlStore.SchemaVersion == currentSchemaVersion { +func shouldPerformUpgrade(sqlStore SqlStore, currentSchemaVersion string, expectedSchemaVersion string) bool { + if sqlStore.GetCurrentSchemaVersion() == currentSchemaVersion { l4g.Warn(utils.T("store.sql.schema_out_of_date.warn"), currentSchemaVersion) l4g.Warn(utils.T("store.sql.schema_upgrade_attempt.warn"), expectedSchemaVersion) @@ -93,14 +91,14 @@ func shouldPerformUpgrade(sqlStore *SqlStore, currentSchemaVersion string, expec return false } -func UpgradeDatabaseToVersion31(sqlStore *SqlStore) { +func UpgradeDatabaseToVersion31(sqlStore SqlStore) { if shouldPerformUpgrade(sqlStore, VERSION_3_0_0, VERSION_3_1_0) { sqlStore.CreateColumnIfNotExists("OutgoingWebhooks", "ContentType", "varchar(128)", "varchar(128)", "") saveSchemaVersion(sqlStore, VERSION_3_1_0) } } -func UpgradeDatabaseToVersion32(sqlStore *SqlStore) { +func UpgradeDatabaseToVersion32(sqlStore SqlStore) { if shouldPerformUpgrade(sqlStore, VERSION_3_1_0, VERSION_3_2_0) { sqlStore.CreateColumnIfNotExists("TeamMembers", "DeleteAt", "bigint(20)", "bigint", "0") @@ -114,7 +112,7 @@ func themeMigrationFailed(err error) { os.Exit(EXIT_THEME_MIGRATION) } -func UpgradeDatabaseToVersion33(sqlStore *SqlStore) { +func UpgradeDatabaseToVersion33(sqlStore SqlStore) { if shouldPerformUpgrade(sqlStore, VERSION_3_2_0, VERSION_3_3_0) { if sqlStore.DoesColumnExist("Users", "ThemeProps") { params := map[string]interface{}{ @@ -191,7 +189,7 @@ func UpgradeDatabaseToVersion33(sqlStore *SqlStore) { } } -func UpgradeDatabaseToVersion34(sqlStore *SqlStore) { +func UpgradeDatabaseToVersion34(sqlStore SqlStore) { if shouldPerformUpgrade(sqlStore, VERSION_3_3_0, VERSION_3_4_0) { sqlStore.CreateColumnIfNotExists("Status", "Manual", "BOOLEAN", "BOOLEAN", "0") sqlStore.CreateColumnIfNotExists("Status", "ActiveChannel", "varchar(26)", "varchar(26)", "") @@ -200,7 +198,7 @@ func UpgradeDatabaseToVersion34(sqlStore *SqlStore) { } } -func UpgradeDatabaseToVersion35(sqlStore *SqlStore) { +func UpgradeDatabaseToVersion35(sqlStore SqlStore) { if shouldPerformUpgrade(sqlStore, VERSION_3_4_0, VERSION_3_5_0) { sqlStore.GetMaster().Exec("UPDATE Users SET Roles = 'system_user' WHERE Roles = ''") sqlStore.GetMaster().Exec("UPDATE Users SET Roles = 'system_user system_admin' WHERE Roles = 'system_admin'") @@ -223,7 +221,7 @@ func UpgradeDatabaseToVersion35(sqlStore *SqlStore) { } } -func UpgradeDatabaseToVersion36(sqlStore *SqlStore) { +func UpgradeDatabaseToVersion36(sqlStore SqlStore) { if shouldPerformUpgrade(sqlStore, VERSION_3_5_0, VERSION_3_6_0) { sqlStore.CreateColumnIfNotExists("Posts", "HasReactions", "tinyint", "boolean", "0") @@ -240,7 +238,7 @@ func UpgradeDatabaseToVersion36(sqlStore *SqlStore) { } } -func UpgradeDatabaseToVersion37(sqlStore *SqlStore) { +func UpgradeDatabaseToVersion37(sqlStore SqlStore) { if shouldPerformUpgrade(sqlStore, VERSION_3_6_0, VERSION_3_7_0) { // Add EditAt column to Posts sqlStore.CreateColumnIfNotExists("Posts", "EditAt", " bigint", " bigint", "0") @@ -249,7 +247,7 @@ func UpgradeDatabaseToVersion37(sqlStore *SqlStore) { } } -func UpgradeDatabaseToVersion38(sqlStore *SqlStore) { +func UpgradeDatabaseToVersion38(sqlStore SqlStore) { if shouldPerformUpgrade(sqlStore, VERSION_3_7_0, VERSION_3_8_0) { // Add the IsPinned column to posts. sqlStore.CreateColumnIfNotExists("Posts", "IsPinned", "boolean", "boolean", "0") @@ -258,7 +256,7 @@ func UpgradeDatabaseToVersion38(sqlStore *SqlStore) { } } -func UpgradeDatabaseToVersion39(sqlStore *SqlStore) { +func UpgradeDatabaseToVersion39(sqlStore SqlStore) { if shouldPerformUpgrade(sqlStore, VERSION_3_8_0, VERSION_3_9_0) { sqlStore.CreateColumnIfNotExists("OAuthAccessData", "Scope", "varchar(128)", "varchar(128)", model.DEFAULT_SCOPE) sqlStore.RemoveTableIfExists("PasswordRecovery") @@ -267,13 +265,13 @@ func UpgradeDatabaseToVersion39(sqlStore *SqlStore) { } } -func UpgradeDatabaseToVersion310(sqlStore *SqlStore) { +func UpgradeDatabaseToVersion310(sqlStore SqlStore) { if shouldPerformUpgrade(sqlStore, VERSION_3_9_0, VERSION_3_10_0) { saveSchemaVersion(sqlStore, VERSION_3_10_0) } } -func UpgradeDatabaseToVersion40(sqlStore *SqlStore) { +func UpgradeDatabaseToVersion40(sqlStore SqlStore) { // TODO: Uncomment following condition when version 4.0.0 is released //if shouldPerformUpgrade(sqlStore, VERSION_3_10_0, VERSION_4_0_0) { -- cgit v1.2.3-1-g7c22