apply 1.hcl cmpshow logs 1.sql # Change size of the underlying type. apply 2.change-size.hcl cmpshow logs 2.sql synced 3.nochange.hcl synced 4.nochange.hcl apply 5.hcl cmpshow logs 5.sql -- 1.hcl -- schema "$db" {} table "logs" { schema = schema.$db column "records" { null = false type = sql("varchar(255)[]") } } -- 1.sql -- Table "script_column_array.logs" Column | Type | Collation | Nullable | Default ---------+--------------------------+-----------+----------+--------- records | character varying(255)[] | | not null | -- 2.change-size.hcl -- schema "$db" {} table "logs" { schema = schema.$db column "records" { null = false type = sql("varchar(100) ARRAY") } } -- 2.sql -- Table "script_column_array.logs" Column | Type | Collation | Nullable | Default ---------+--------------------------+-----------+----------+--------- records | character varying(100)[] | | not null | -- 3.nochange.hcl -- schema "$db" {} table "logs" { schema = schema.$db column "records" { null = false type = sql("varchar(100) ARRAY") } } -- 4.nochange.hcl -- schema "$db" {} table "logs" { schema = schema.$db column "records" { null = false type = sql("varchar(100) [10][]") } } -- 5.hcl -- schema "$db" {} table "logs" { schema = schema.$db column "a" { null = false type = sql("int[1]") } column "b" { null = false type = sql("int ARRAY[1]") } column "c" { null = false type = sql("character varying(100) ARRAY[1]") } column "d" { null = false type = sql("point [][1]") } } -- 5.sql -- Table "script_column_array.logs" Column | Type | Collation | Nullable | Default --------+--------------------------+-----------+----------+--------- a | integer[] | | not null | b | integer[] | | not null | c | character varying(100)[] | | not null | d | point[] | | not null |