From 2c427a0455900cd88ac8c7f128babb9c20465b46 Mon Sep 17 00:00:00 2001 From: Artem Klevtsov Date: Mon, 18 Sep 2023 11:56:06 +0700 Subject: [PATCH 1/2] Sort columns comments --- migrator.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/migrator.go b/migrator.go index 1569f61..4237e22 100644 --- a/migrator.go +++ b/migrator.go @@ -4,6 +4,7 @@ import ( "database/sql" "fmt" "regexp" + "sort" "strings" "github.com/jackc/pgx/v5" @@ -162,7 +163,14 @@ func (m Migrator) CreateTable(values ...interface{}) (err error) { for _, value := range m.ReorderModels(values, false) { if err = m.RunWithValue(value, func(stmt *gorm.Statement) error { if stmt.Schema != nil { - for _, field := range stmt.Schema.FieldsByDBName { + fields := make([]string, 0, len(stmt.Schema.FieldsByDBName)) + for k := range stmt.Schema.FieldsByDBName { + fields = append(fields, k) + } + sort.Strings(fields) + + for _, fieldName := range fields { + field := stmt.Schema.FieldsByDBName[fieldName] if field.Comment != "" { if err := m.DB.Exec( "COMMENT ON COLUMN ?.? IS ?", From be6ae8eaa72f4f00aad42f810c7e9f67d1335dcf Mon Sep 17 00:00:00 2001 From: Artem Klevtsov Date: Sun, 8 Oct 2023 11:59:09 +0700 Subject: [PATCH 2/2] Simplify m.Migrator.CreateTable columns sortomg --- migrator.go | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/migrator.go b/migrator.go index 4237e22..d3b7bd1 100644 --- a/migrator.go +++ b/migrator.go @@ -4,7 +4,6 @@ import ( "database/sql" "fmt" "regexp" - "sort" "strings" "github.com/jackc/pgx/v5" @@ -163,13 +162,7 @@ func (m Migrator) CreateTable(values ...interface{}) (err error) { for _, value := range m.ReorderModels(values, false) { if err = m.RunWithValue(value, func(stmt *gorm.Statement) error { if stmt.Schema != nil { - fields := make([]string, 0, len(stmt.Schema.FieldsByDBName)) - for k := range stmt.Schema.FieldsByDBName { - fields = append(fields, k) - } - sort.Strings(fields) - - for _, fieldName := range fields { + for _, fieldName := range stmt.Schema.DBNames { field := stmt.Schema.FieldsByDBName[fieldName] if field.Comment != "" { if err := m.DB.Exec(