PLT-7223: Update "Database schema cannot be upgraded" error message to indicate expected version (#7079)

* PLT-7223: Updated error message to include relevant schema versions

* PLT-7223: Removed unit test. It poisons database state, and there's no recovery mechanism, because the code under test causes an ungraceful exit, so we can't fix the database in a defer statement. This causes the next test execution or server start to fail.

* PLT-7223: Incorporated @crspeller's suggestions into error message string
This commit is contained in:
Jonathan
2017-08-04 12:44:44 -04:00
committed by GitHub
parent a5f1a77fa5
commit 28726460d7
2 changed files with 16 additions and 15 deletions

View File

@@ -5261,7 +5261,7 @@
},
{
"id": "store.sql.schema_version.critical",
"translation": "The database schema version of %v cannot be upgraded. You must not skip a version."
"translation": "Database schema version %v is no longer supported. This Mattermost server supports automatic upgrades from schema version %v through schema version %v. Downgrades are not supported. Please manually upgrade to at least version %v before continuing"
},
{
"id": "store.sql.short_ciphertext",

View File

@@ -15,19 +15,20 @@ import (
)
const (
VERSION_4_1_0 = "4.1.0"
VERSION_4_0_0 = "4.0.0"
VERSION_3_10_0 = "3.10.0"
VERSION_3_9_0 = "3.9.0"
VERSION_3_8_0 = "3.8.0"
VERSION_3_7_0 = "3.7.0"
VERSION_3_6_0 = "3.6.0"
VERSION_3_5_0 = "3.5.0"
VERSION_3_4_0 = "3.4.0"
VERSION_3_3_0 = "3.3.0"
VERSION_3_2_0 = "3.2.0"
VERSION_3_1_0 = "3.1.0"
VERSION_3_0_0 = "3.0.0"
VERSION_4_1_0 = "4.1.0"
VERSION_4_0_0 = "4.0.0"
VERSION_3_10_0 = "3.10.0"
VERSION_3_9_0 = "3.9.0"
VERSION_3_8_0 = "3.8.0"
VERSION_3_7_0 = "3.7.0"
VERSION_3_6_0 = "3.6.0"
VERSION_3_5_0 = "3.5.0"
VERSION_3_4_0 = "3.4.0"
VERSION_3_3_0 = "3.3.0"
VERSION_3_2_0 = "3.2.0"
VERSION_3_1_0 = "3.1.0"
VERSION_3_0_0 = "3.0.0"
OLDEST_SUPPORTED_VERSION = VERSION_3_0_0
)
const (
@@ -66,7 +67,7 @@ func UpgradeDatabase(sqlStore SqlStore) {
// If we're not on the current version then it's too old to be upgraded
if sqlStore.GetCurrentSchemaVersion() != model.CurrentVersion {
l4g.Critical(utils.T("store.sql.schema_version.critical"), sqlStore.GetCurrentSchemaVersion())
l4g.Critical(utils.T("store.sql.schema_version.critical"), sqlStore.GetCurrentSchemaVersion(), OLDEST_SUPPORTED_VERSION, model.CurrentVersion, OLDEST_SUPPORTED_VERSION)
time.Sleep(time.Second)
os.Exit(EXIT_TOO_OLD)
}