ensure a default value is always set

This commit is contained in:
kim 2024-11-21 17:56:36 +00:00
parent 25a4758557
commit 65335cb4b2

View file

@ -146,21 +146,18 @@ func convertEnums[OldType ~string, NewType ~int](
table, column, table, column,
) )
var columnExpr string // Ensure a default value.
var columnArgs []any if defaultValue == nil {
var zero NewType
// Build new column expr with args. defaultValue = &zero
columnExpr = "? INTEGER NOT NULL"
columnArgs = []any{bun.Ident(newColumn)}
if defaultValue != nil {
columnExpr += " DEFAULT ?"
columnArgs = append(columnArgs, *defaultValue)
} }
// Add new column to database. // Add new column to database.
if _, err := tx.NewAddColumn(). if _, err := tx.NewAddColumn().
Table(table). Table(table).
ColumnExpr(columnExpr, columnArgs...). ColumnExpr("? INTEGER NOT NULL DEFAULT ?",
bun.Ident(newColumn),
*defaultValue).
Exec(ctx); err != nil { Exec(ctx); err != nil {
return err return err
} }