From 24cb8cbce553cf38b55c9ce295007087fffb6b7d Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Tue, 23 Sep 2025 20:17:43 +0800 Subject: [PATCH] fix: dameng sync column nullable --- backends/dameng/sync.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/backends/dameng/sync.go b/backends/dameng/sync.go index 08ef053..a607448 100644 --- a/backends/dameng/sync.go +++ b/backends/dameng/sync.go @@ -145,6 +145,16 @@ func (mysql *SDamengBackend) CommitTableChangeSQL(ts sqlchemy.ITableSpec, change sql := fmt.Sprintf(`ALTER TABLE "%s" ALTER COLUMN "%s" DROP DEFAULT`, ts.Name(), cols.NewCol.Name()) alters = append(alters, sql) } + + if cols.NewCol.IsNullable() != cols.OldCol.IsNullable() { + if cols.NewCol.IsNullable() { + sql := fmt.Sprintf(`ALTER TABLE "%s" MODIFY "%s" NULL`, ts.Name(), cols.NewCol.Name()) + alters = append(alters, sql) + } else { + sql := fmt.Sprintf(`ALTER TABLE "%s" ALTER COLUMN "%s" SET NOT NULL`, ts.Name(), cols.NewCol.Name()) + alters = append(alters, sql) + } + } } } for _, col := range changes.AddColumns {