diff --git a/pkg/sql2pgroll/create_table.go b/pkg/sql2pgroll/create_table.go index ffd245133..53cdbe165 100644 --- a/pkg/sql2pgroll/create_table.go +++ b/pkg/sql2pgroll/create_table.go @@ -122,10 +122,14 @@ func convertColumnDef(col *pgq.ColumnDef) (*migrations.Column, error) { // canConvertColumnDef returns true iff `col` can be converted to a pgroll // `Column` definition. func canConvertColumnDef(col *pgq.ColumnDef) bool { + switch { // Column storage options are not supported - if col.GetStorageName() != "" { + case col.GetStorageName() != "": + return false + // Column compression options are not supported + case col.GetCompression() != "": return false + default: + return true } - - return true } diff --git a/pkg/sql2pgroll/create_table_test.go b/pkg/sql2pgroll/create_table_test.go index 212250320..d98209f1c 100644 --- a/pkg/sql2pgroll/create_table_test.go +++ b/pkg/sql2pgroll/create_table_test.go @@ -113,8 +113,11 @@ func TestUnconvertableCreateTableStatements(t *testing.T) { "CREATE TABLE foo(a int, LIKE bar)", "CREATE TABLE foo(LIKE bar)", - // column `STORAGE` options are not supported + // Column `STORAGE` options are not supported "CREATE TABLE foo(a int STORAGE PLAIN)", + + // Column compression options are not supported + "CREATE TABLE foo(a text COMPRESSION pglz)", } for _, sql := range tests {