Stage 1 of caching layer. Framework (#6693)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
28bf900205
Коммит
9659a6da06
@@ -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) {
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user