Skip to content

Commit 92378fa

Browse files
committed
fix : fail to alter existing boolean column from smallint with default value to boolean in postgres (go-gorm#180)
1 parent e9eea7c commit 92378fa

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

migrator.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,11 @@ func (m Migrator) AlterColumn(value interface{}, field string) error {
315315
return err
316316
}
317317
} else {
318+
if dv, _ := fieldColumnType.DefaultValue(); dv != "" {
319+
if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? DROP DEFAULT", m.CurrentTable(stmt), clause.Column{Name: field.DBName}).Error; err != nil {
320+
return err
321+
}
322+
}
318323
if err := m.DB.Exec("ALTER TABLE ? ALTER COLUMN ? TYPE ?"+m.genUsingExpression(fileType.SQL, fieldColumnType.DatabaseTypeName()),
319324
m.CurrentTable(stmt), clause.Column{Name: field.DBName}, fileType, clause.Column{Name: field.DBName}, fileType).Error; err != nil {
320325
return err

0 commit comments

Comments
 (0)