upgrade DB to 5.28 (#15556)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
0916c38290
Коммит
c392f993d6
@@ -19,7 +19,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
CURRENT_SCHEMA_VERSION = VERSION_5_27_0
|
CURRENT_SCHEMA_VERSION = VERSION_5_28_0
|
||||||
VERSION_5_28_0 = "5.28.0"
|
VERSION_5_28_0 = "5.28.0"
|
||||||
VERSION_5_27_0 = "5.27.0"
|
VERSION_5_27_0 = "5.27.0"
|
||||||
VERSION_5_26_0 = "5.26.0"
|
VERSION_5_26_0 = "5.26.0"
|
||||||
@@ -835,23 +835,22 @@ func upgradeDatabaseToVersion527(sqlStore SqlStore) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func upgradeDatabaseToVersion528(sqlStore SqlStore) {
|
func upgradeDatabaseToVersion528(sqlStore SqlStore) {
|
||||||
// TODO: uncomment when the time arrive to upgrade the DB for 5.28
|
if shouldPerformUpgrade(sqlStore, VERSION_5_27_0, VERSION_5_28_0) {
|
||||||
//if shouldPerformUpgrade(sqlStore, VERSION_5_27_0, VERSION_5_28_0) {
|
if err := precheckMigrationToVersion528(sqlStore); err != nil {
|
||||||
if err := precheckMigrationToVersion528(sqlStore); err != nil {
|
mlog.Error("Error upgrading DB schema to 5.28.0", mlog.Err(err))
|
||||||
mlog.Error("Error upgrading DB schema to 5.28.0", mlog.Err(err))
|
os.Exit(EXIT_GENERIC_FAILURE)
|
||||||
os.Exit(EXIT_GENERIC_FAILURE)
|
}
|
||||||
|
|
||||||
|
sqlStore.CreateColumnIfNotExistsNoDefault("Commands", "PluginId", "VARCHAR(190)", "VARCHAR(190)")
|
||||||
|
sqlStore.GetMaster().Exec("UPDATE Commands SET PluginId = '' WHERE PluginId IS NULL")
|
||||||
|
|
||||||
|
sqlStore.AlterColumnTypeIfExists("Teams", "Type", "VARCHAR(255)", "VARCHAR(255)")
|
||||||
|
sqlStore.AlterColumnTypeIfExists("Teams", "SchemeId", "VARCHAR(26)", "VARCHAR(26)")
|
||||||
|
sqlStore.AlterColumnTypeIfExists("IncomingWebhooks", "Username", "varchar(255)", "varchar(255)")
|
||||||
|
sqlStore.AlterColumnTypeIfExists("IncomingWebhooks", "IconURL", "text", "varchar(1024)")
|
||||||
|
|
||||||
|
saveSchemaVersion(sqlStore, VERSION_5_28_0)
|
||||||
}
|
}
|
||||||
|
|
||||||
sqlStore.CreateColumnIfNotExistsNoDefault("Commands", "PluginId", "VARCHAR(190)", "VARCHAR(190)")
|
|
||||||
sqlStore.GetMaster().Exec("UPDATE Commands SET PluginId = '' WHERE PluginId IS NULL")
|
|
||||||
|
|
||||||
sqlStore.AlterColumnTypeIfExists("Teams", "Type", "VARCHAR(255)", "VARCHAR(255)")
|
|
||||||
sqlStore.AlterColumnTypeIfExists("Teams", "SchemeId", "VARCHAR(26)", "VARCHAR(26)")
|
|
||||||
sqlStore.AlterColumnTypeIfExists("IncomingWebhooks", "Username", "varchar(255)", "varchar(255)")
|
|
||||||
sqlStore.AlterColumnTypeIfExists("IncomingWebhooks", "IconURL", "text", "varchar(1024)")
|
|
||||||
|
|
||||||
//saveSchemaVersion(sqlStore, VERSION_5_28_0)
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func precheckMigrationToVersion528(sqlStore SqlStore) error {
|
func precheckMigrationToVersion528(sqlStore SqlStore) error {
|
||||||
@@ -880,12 +879,11 @@ func precheckMigrationToVersion528(sqlStore SqlStore) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
var schemeIdWrong int
|
var schemeIDWrong, typeWrong int
|
||||||
var typeWrong int
|
|
||||||
row := sqlStore.GetMaster().Db.QueryRow(teamsQuery)
|
row := sqlStore.GetMaster().Db.QueryRow(teamsQuery)
|
||||||
if err = row.Scan(&schemeIdWrong, &typeWrong); err != nil && err != sql.ErrNoRows {
|
if err = row.Scan(&schemeIDWrong, &typeWrong); err != nil && err != sql.ErrNoRows {
|
||||||
return err
|
return err
|
||||||
} else if err == nil && schemeIdWrong > 0 {
|
} else if err == nil && schemeIDWrong > 0 {
|
||||||
return errors.New("Migration failure: " +
|
return errors.New("Migration failure: " +
|
||||||
"Teams column SchemeId has data larger that 26 characters")
|
"Teams column SchemeId has data larger that 26 characters")
|
||||||
} else if err == nil && typeWrong > 0 {
|
} else if err == nil && typeWrong > 0 {
|
||||||
@@ -893,8 +891,7 @@ func precheckMigrationToVersion528(sqlStore SqlStore) error {
|
|||||||
"Teams column Type has data larger that 255 characters")
|
"Teams column Type has data larger that 255 characters")
|
||||||
}
|
}
|
||||||
|
|
||||||
var usernameWrong int
|
var usernameWrong, iconURLWrong int
|
||||||
var iconURLWrong int
|
|
||||||
row = sqlStore.GetMaster().Db.QueryRow(webhooksQuery)
|
row = sqlStore.GetMaster().Db.QueryRow(webhooksQuery)
|
||||||
if err = row.Scan(&usernameWrong, &iconURLWrong); err != nil && err != sql.ErrNoRows {
|
if err = row.Scan(&usernameWrong, &iconURLWrong); err != nil && err != sql.ErrNoRows {
|
||||||
mlog.Error("Error fetching IncomingWebhooks columns data", mlog.Err(err))
|
mlog.Error("Error fetching IncomingWebhooks columns data", mlog.Err(err))
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user