[MM-36995] Start using db native JSON datatypes (#17930)
* Start using db native JSON datatypes * Fix syntax to work on MySQL 5.7.12
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
1c63e6a848
Коммит
1ae1c38c9f
@@ -911,7 +911,12 @@ func (ss *SqlStore) AlterColumnTypeIfExists(tableName string, columnName string,
|
||||
if ss.DriverName() == model.DatabaseDriverMysql {
|
||||
_, err = ss.GetMaster().ExecNoTimeout("ALTER TABLE " + tableName + " MODIFY " + columnName + " " + mySqlColType)
|
||||
} else if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
_, err = ss.GetMaster().ExecNoTimeout("ALTER TABLE " + strings.ToLower(tableName) + " ALTER COLUMN " + strings.ToLower(columnName) + " TYPE " + postgresColType)
|
||||
query := "ALTER TABLE " + strings.ToLower(tableName) + " ALTER COLUMN " + strings.ToLower(columnName) + " TYPE " + postgresColType
|
||||
// We need to explicitly cast when moving from text based to jsonb datatypes.
|
||||
if postgresColType == "jsonb" {
|
||||
query += " USING " + strings.ToLower(columnName) + "::jsonb"
|
||||
}
|
||||
_, err = ss.GetMaster().ExecNoTimeout(query)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
@@ -1742,3 +1747,10 @@ func versionString(v int, driver string) string {
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (ss *SqlStore) jsonDataType() string {
|
||||
if ss.DriverName() == model.DatabaseDriverPostgres {
|
||||
return "jsonb"
|
||||
}
|
||||
return "json"
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user