@@ -68,7 +68,7 @@ func (c ColumnSchema) Drop() {
6868func (c ColumnSchema ) Change (obj interface {}) {
6969 c2 , ok := obj .(* ColumnSchema )
7070 if ! ok {
71- fmt .Println ("Error!!!, change needs a ColumnSchema instance" , c2 )
71+ fmt .Println ("Error!!!, ColumnSchema.Change(obj) needs a ColumnSchema instance" , c2 )
7272 }
7373
7474 // Detect column type change (mostly varchar length, or number size increase) (integer to/from bigint is OK)
@@ -94,39 +94,17 @@ func (c ColumnSchema) Change(obj interface{}) {
9494 fmt .Printf ("ALTER TABLE %s ALTER COLUMN %s DROP DEFAULT;\n " , c .row ["table_name" ], c .row ["column_name" ])
9595 }
9696 } else if c .row ["column_default" ] != c2 .row ["column_default" ] {
97- fmt .Printf ("ALTER TABLE %s ALTER COLUMN %s DEFAULT %s;\n " , c .row ["table_name" ], c .row ["column_name" ], c .row ["column_default" ])
97+ fmt .Printf ("ALTER TABLE %s ALTER COLUMN %s SET DEFAULT %s;\n " , c .row ["table_name" ], c .row ["column_name" ], c .row ["column_default" ])
9898 }
9999
100+ // TODO Detect not-null and nullable change
100101 if c .row ["is_nullable" ] != c2 .row ["is_nullable" ] {
101102 if c .row ["is_nullable" ] == "YES" {
102- fmt .Printf ("ALTER TABLE %s ALTER COLUMN DROP NOT NULL" )
103+ fmt .Printf ("ALTER TABLE %s ALTER COLUMN %s DROP NOT NULL; \n " , c . row [ "table_name" ], c . row [ "column_name" ] )
103104 } else {
104- fmt .Printf ("ALTER TABLE %s ALTER COLUMN SET NOT NULL" )
105+ fmt .Printf ("ALTER TABLE %s ALTER COLUMN %s SET NOT NULL; \n " , c . row [ "table_name" ], c . row [ "column_name" ] )
105106 }
106107 }
107-
108- // TODO Detect not-null and nullable change
109-
110- // // if changing type
111- // if c.row["data_type"] == "character varying" {
112- // // varchar needs a length specified
113- // fmt.Printf("ALTER TABLE %s ALTER COLUMN %s TYPE %s(%s);\n", c.row["table_name"], c.row["column_name"], c.row["data_type"], c.row["character_maximum_length"])
114- // } else {
115- // fmt.Printf("ALTER TABLE %s ALTER COLUMN %s TYPE %s;\n", c.row["table_name"], c.row["column_name"], c.row["data_type"])
116- // }
117- //
118- // // if changing/adding default value
119- // fmt.Printf("ALTER TABLE %s ALTER COLUMN %s SET DEFAULT %s;\n", c.row["table_name"], c.row["column_name"], c.row["column_default"])
120- //
121- // // if dropping default value
122- // fmt.Printf("ALTER TABLE %s ALTER COLUMN %s DROP DEFAULT;\n", c.row["table_name"], c.row["column_name"])
123- //
124- // // if adding not null
125- // fmt.Printf("ALTER TABLE %s ALTER COLUMN %s SET NOT NULL;\n", c.row["table_name"], c.row["column_name"])
126- //
127- // // if dropping not null
128- // fmt.Printf("ALTER TABLE %s ALTER COLUMN %s DROP NOT NULL;\n", c.row["table_name"], c.row["column_name"])
129- // return "Change"
130108}
131109
132110/*
0 commit comments