woodpecker/server/store/datastore/migration/006_log_data_type.go
Simon Vieille 6351684070
Update type of 'log_data' from blob to longblob (#1050)
* Update type of 'log_data' from blob to longblob

* Add migration task to update log_data type
2022-07-29 14:57:18 +02:00

28 lines
669 B
Go

package migration
import (
"xorm.io/xorm"
"xorm.io/xorm/schemas"
)
var alterTableLogUpdateColumnLogDataType = task{
name: "alter-table-logs-update-type-of-data",
fn: func(sess *xorm.Session) (err error) {
dialect := sess.Engine().Dialect().URI().DBType
switch dialect {
case schemas.POSTGRES:
_, err = sess.Exec("ALTER TABLE logs ALTER COLUMN log_data TYPE BYTEA")
case schemas.MYSQL:
_, err = sess.Exec("ALTER TABLE logs MODIFY COLUMN log_data LONGBLOB")
case schemas.MSSQL:
_, err = sess.Exec("ALTER TABLE logs MODIFY COLUMN log_data VARBINARY")
default:
// sqlite does only know BLOB in all cases
return nil
}
return err
},
}