mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-11-25 13:16:40 +00:00
ensure a default value is always set
This commit is contained in:
parent
25a4758557
commit
65335cb4b2
|
@ -146,21 +146,18 @@ func convertEnums[OldType ~string, NewType ~int](
|
|||
table, column,
|
||||
)
|
||||
|
||||
var columnExpr string
|
||||
var columnArgs []any
|
||||
|
||||
// Build new column expr with args.
|
||||
columnExpr = "? INTEGER NOT NULL"
|
||||
columnArgs = []any{bun.Ident(newColumn)}
|
||||
if defaultValue != nil {
|
||||
columnExpr += " DEFAULT ?"
|
||||
columnArgs = append(columnArgs, *defaultValue)
|
||||
// Ensure a default value.
|
||||
if defaultValue == nil {
|
||||
var zero NewType
|
||||
defaultValue = &zero
|
||||
}
|
||||
|
||||
// Add new column to database.
|
||||
if _, err := tx.NewAddColumn().
|
||||
Table(table).
|
||||
ColumnExpr(columnExpr, columnArgs...).
|
||||
ColumnExpr("? INTEGER NOT NULL DEFAULT ?",
|
||||
bun.Ident(newColumn),
|
||||
*defaultValue).
|
||||
Exec(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue