Stage 1 of caching layer. Framework (#6693)

Этот коммит содержится в:
Christopher Speller
2017-06-27 08:02:08 -07:00
коммит произвёл GitHub
родитель 28bf900205
Коммит 9659a6da06
38 изменённых файлов: 1260 добавлений и 1042 удалений

Просмотреть файл

@@ -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) {