diff --git a/pkg/migrations/errors.go b/pkg/migrations/errors.go index a2f6d201..b114703f 100644 --- a/pkg/migrations/errors.go +++ b/pkg/migrations/errors.go @@ -191,11 +191,11 @@ type InvalidOnDeleteSettingError struct { func (e InvalidOnDeleteSettingError) Error() string { return fmt.Sprintf("foreign key %q on_delete setting must be one of: %q, %q, %q, %q or %q, not %q", e.Name, - ForeignKeyReferenceOnDeleteNOACTION, - ForeignKeyReferenceOnDeleteRESTRICT, - ForeignKeyReferenceOnDeleteSETDEFAULT, - ForeignKeyReferenceOnDeleteSETNULL, - ForeignKeyReferenceOnDeleteCASCADE, + ForeignKeyActionNOACTION, + ForeignKeyActionRESTRICT, + ForeignKeyActionSETDEFAULT, + ForeignKeyActionSETNULL, + ForeignKeyActionCASCADE, e.Setting, ) } @@ -207,8 +207,8 @@ type UnexpectedOnDeleteSetColumnError struct { func (e UnexpectedOnDeleteSetColumnError) Error() string { return fmt.Sprintf("if on_delete_set_columns is set in foreign key %q, on_delete setting must be one of: %q, %q", e.Name, - ForeignKeyReferenceOnDeleteSETDEFAULT, - ForeignKeyReferenceOnDeleteSETNULL, + ForeignKeyActionSETDEFAULT, + ForeignKeyActionSETNULL, ) } diff --git a/pkg/migrations/fk_reference.go b/pkg/migrations/fk_reference.go index 4f891c56..9afca55d 100644 --- a/pkg/migrations/fk_reference.go +++ b/pkg/migrations/fk_reference.go @@ -29,11 +29,11 @@ func (f *ForeignKeyReference) Validate(s *schema.Schema) error { } switch strings.ToUpper(string(f.OnDelete)) { - case string(ForeignKeyReferenceOnDeleteNOACTION): - case string(ForeignKeyReferenceOnDeleteRESTRICT): - case string(ForeignKeyReferenceOnDeleteSETDEFAULT): - case string(ForeignKeyReferenceOnDeleteSETNULL): - case string(ForeignKeyReferenceOnDeleteCASCADE): + case string(ForeignKeyActionNOACTION): + case string(ForeignKeyActionRESTRICT): + case string(ForeignKeyActionSETDEFAULT): + case string(ForeignKeyActionSETNULL): + case string(ForeignKeyActionCASCADE): case "": break default: diff --git a/pkg/migrations/op_add_column.go b/pkg/migrations/op_add_column.go index 629d6f1c..96256b17 100644 --- a/pkg/migrations/op_add_column.go +++ b/pkg/migrations/op_add_column.go @@ -315,7 +315,7 @@ func (w ColumnSQLWriter) Write(col Column) (string, error) { } if col.References != nil { - onDelete := string(ForeignKeyReferenceOnDeleteNOACTION) + onDelete := string(ForeignKeyActionNOACTION) if col.References.OnDelete != "" { onDelete = strings.ToUpper(string(col.References.OnDelete)) } diff --git a/pkg/migrations/op_add_column_test.go b/pkg/migrations/op_add_column_test.go index 2b1b4032..74bc5d5d 100644 --- a/pkg/migrations/op_add_column_test.go +++ b/pkg/migrations/op_add_column_test.go @@ -722,7 +722,7 @@ func TestAddForeignKeyColumn(t *testing.T) { Name: "fk_users_id", Table: "users", Column: "id", - OnDelete: migrations.ForeignKeyReferenceOnDeleteCASCADE, + OnDelete: migrations.ForeignKeyActionCASCADE, }, }, }, diff --git a/pkg/migrations/op_change_type_test.go b/pkg/migrations/op_change_type_test.go index 3d873ecb..fc2ed18a 100644 --- a/pkg/migrations/op_change_type_test.go +++ b/pkg/migrations/op_change_type_test.go @@ -185,7 +185,7 @@ func TestChangeColumnType(t *testing.T) { Name: "fk_employee_department", Table: "departments", Column: "id", - OnDelete: migrations.ForeignKeyReferenceOnDeleteCASCADE, + OnDelete: migrations.ForeignKeyActionCASCADE, }, }, }, diff --git a/pkg/migrations/op_create_table.go b/pkg/migrations/op_create_table.go index d54cf06b..4158e917 100644 --- a/pkg/migrations/op_create_table.go +++ b/pkg/migrations/op_create_table.go @@ -171,7 +171,7 @@ func (o *OpCreateTable) Validate(ctx context.Context, s *schema.Schema) error { return FieldRequiredError{Name: "references"} } if len(c.References.OnDeleteSetColumns) != 0 { - if c.References.OnDelete != ForeignKeyReferenceOnDeleteSETDEFAULT && c.References.OnDelete != ForeignKeyReferenceOnDeleteSETNULL { + if c.References.OnDelete != ForeignKeyActionSETDEFAULT && c.References.OnDelete != ForeignKeyActionSETNULL { return UnexpectedOnDeleteSetColumnError{ Name: o.Name, } @@ -381,15 +381,15 @@ func (w *ConstraintSQLWriter) WritePrimaryKey() string { return constraint } -func (w *ConstraintSQLWriter) WriteForeignKey(referencedTable string, referencedColumns []string, onDelete, onUpdate ForeignKeyReferenceOnDelete, setColumns []string) string { - onDeleteAction := string(ForeignKeyReferenceOnDeleteNOACTION) +func (w *ConstraintSQLWriter) WriteForeignKey(referencedTable string, referencedColumns []string, onDelete, onUpdate ForeignKeyAction, setColumns []string) string { + onDeleteAction := string(ForeignKeyActionNOACTION) if onDelete != "" { onDeleteAction = strings.ToUpper(string(onDelete)) if len(setColumns) != 0 { onDeleteAction += " (" + strings.Join(quoteColumnNames(setColumns), ", ") + ")" } } - onUpdateAction := string(ForeignKeyReferenceOnDeleteNOACTION) + onUpdateAction := string(ForeignKeyActionNOACTION) if onUpdate != "" { onUpdateAction = strings.ToUpper(string(onUpdate)) } diff --git a/pkg/migrations/op_create_table_test.go b/pkg/migrations/op_create_table_test.go index 4f5bb31e..6dbc190c 100644 --- a/pkg/migrations/op_create_table_test.go +++ b/pkg/migrations/op_create_table_test.go @@ -309,7 +309,7 @@ func TestCreateTable(t *testing.T) { Column: "id", Name: "fk_users_id", Table: "users", - OnDelete: migrations.ForeignKeyReferenceOnDeleteCASCADE, + OnDelete: migrations.ForeignKeyActionCASCADE, }, }, { @@ -820,7 +820,7 @@ func TestCreateTable(t *testing.T) { References: &migrations.ConstraintReferences{ Table: "owners", Columns: []string{"id"}, - OnDelete: migrations.ForeignKeyReferenceOnDeleteCASCADE, + OnDelete: migrations.ForeignKeyActionCASCADE, }, }, }, @@ -950,7 +950,7 @@ func TestCreateTable(t *testing.T) { References: &migrations.ConstraintReferences{ Table: "owners", Columns: []string{"id", "city"}, - OnDelete: migrations.ForeignKeyReferenceOnDeleteSETDEFAULT, + OnDelete: migrations.ForeignKeyActionSETDEFAULT, OnDeleteSetColumns: []string{"owner_id", "owner_city_id"}, }, }, diff --git a/pkg/migrations/op_set_check_test.go b/pkg/migrations/op_set_check_test.go index c6a26b0c..a39fa899 100644 --- a/pkg/migrations/op_set_check_test.go +++ b/pkg/migrations/op_set_check_test.go @@ -249,7 +249,7 @@ func TestSetCheckConstraint(t *testing.T) { Name: "fk_employee_department", Table: "departments", Column: "id", - OnDelete: migrations.ForeignKeyReferenceOnDeleteCASCADE, + OnDelete: migrations.ForeignKeyActionCASCADE, }, }, }, diff --git a/pkg/migrations/op_set_fk_test.go b/pkg/migrations/op_set_fk_test.go index 5ff6c4e7..28094271 100644 --- a/pkg/migrations/op_set_fk_test.go +++ b/pkg/migrations/op_set_fk_test.go @@ -304,7 +304,7 @@ func TestSetForeignKey(t *testing.T) { Name: "fk_users_id", Table: "users", Column: "id", - OnDelete: migrations.ForeignKeyReferenceOnDeleteCASCADE, + OnDelete: migrations.ForeignKeyActionCASCADE, }, Up: "SELECT CASE WHEN EXISTS (SELECT 1 FROM users WHERE users.id = user_id) THEN user_id ELSE NULL END", Down: "user_id", @@ -410,7 +410,7 @@ func TestSetForeignKey(t *testing.T) { Name: "fk_users_id", Table: "users", Column: "id", - OnDelete: migrations.ForeignKeyReferenceOnDeleteSETNULL, + OnDelete: migrations.ForeignKeyActionSETNULL, }, Up: "SELECT CASE WHEN EXISTS (SELECT 1 FROM users WHERE users.id = user_id) THEN user_id ELSE NULL END", Down: "user_id", @@ -520,7 +520,7 @@ func TestSetForeignKey(t *testing.T) { Name: "fk_users_id", Table: "users", Column: "id", - OnDelete: migrations.ForeignKeyReferenceOnDeleteSETDEFAULT, + OnDelete: migrations.ForeignKeyActionSETDEFAULT, }, Up: "SELECT CASE WHEN EXISTS (SELECT 1 FROM users WHERE users.id = user_id) THEN user_id ELSE NULL END", Down: "user_id", @@ -725,7 +725,7 @@ func TestSetForeignKey(t *testing.T) { Name: "fk_users_id_1", Table: "users", Column: "id", - OnDelete: migrations.ForeignKeyReferenceOnDeleteCASCADE, + OnDelete: migrations.ForeignKeyActionCASCADE, }, Up: "SELECT CASE WHEN EXISTS (SELECT 1 FROM users WHERE users.id = user_id) THEN user_id ELSE NULL END", Down: "user_id", @@ -1894,7 +1894,7 @@ func TestSetForeignKeyValidation(t *testing.T) { Name: "fk_users_doesntexist", Table: "users", Column: "id", - OnDelete: migrations.ForeignKeyReferenceOnDeleteNOACTION, + OnDelete: migrations.ForeignKeyActionNOACTION, }, Up: "SELECT CASE WHEN EXISTS (SELECT 1 FROM users WHERE users.id = user_id) THEN user_id ELSE NULL END", Down: "user_id", @@ -1918,7 +1918,7 @@ func TestSetForeignKeyValidation(t *testing.T) { Name: "fk_users_doesntexist", Table: "users", Column: "id", - OnDelete: migrations.ForeignKeyReferenceOnDeleteSETNULL, + OnDelete: migrations.ForeignKeyActionSETNULL, }, Up: "SELECT CASE WHEN EXISTS (SELECT 1 FROM users WHERE users.id = user_id) THEN user_id ELSE NULL END", Down: "user_id", diff --git a/pkg/migrations/op_set_notnull_test.go b/pkg/migrations/op_set_notnull_test.go index cdf9aced..08c9d894 100644 --- a/pkg/migrations/op_set_notnull_test.go +++ b/pkg/migrations/op_set_notnull_test.go @@ -255,7 +255,7 @@ func TestSetNotNull(t *testing.T) { Name: "fk_employee_department", Table: "departments", Column: "id", - OnDelete: migrations.ForeignKeyReferenceOnDeleteCASCADE, + OnDelete: migrations.ForeignKeyActionCASCADE, }, }, }, diff --git a/pkg/migrations/op_set_unique_test.go b/pkg/migrations/op_set_unique_test.go index 6d52fdb8..d7139b2b 100644 --- a/pkg/migrations/op_set_unique_test.go +++ b/pkg/migrations/op_set_unique_test.go @@ -288,7 +288,7 @@ func TestSetColumnUnique(t *testing.T) { Name: "fk_employee_department", Table: "departments", Column: "id", - OnDelete: migrations.ForeignKeyReferenceOnDeleteSETNULL, + OnDelete: migrations.ForeignKeyActionSETNULL, }, }, }, diff --git a/pkg/migrations/types.go b/pkg/migrations/types.go index 762fbe41..eacf0d09 100644 --- a/pkg/migrations/types.go +++ b/pkg/migrations/types.go @@ -138,13 +138,13 @@ type ConstraintReferences struct { MatchType ConstraintReferencesMatchType `json:"match_type,omitempty"` // On delete behavior of the foreign key constraint - OnDelete ForeignKeyReferenceOnDelete `json:"on_delete,omitempty"` + OnDelete ForeignKeyAction `json:"on_delete,omitempty"` // Columns to set to null or to default on delete OnDeleteSetColumns []string `json:"on_delete_set_columns,omitempty"` // On update behavior of the foreign key constraint - OnUpdate ForeignKeyReferenceOnDelete `json:"on_update,omitempty"` + OnUpdate ForeignKeyAction `json:"on_update,omitempty"` // Name of the table Table string `json:"table"` @@ -164,6 +164,14 @@ const ConstraintTypeForeignKey ConstraintType = "foreign_key" const ConstraintTypePrimaryKey ConstraintType = "primary_key" const ConstraintTypeUnique ConstraintType = "unique" +type ForeignKeyAction string + +const ForeignKeyActionCASCADE ForeignKeyAction = "CASCADE" +const ForeignKeyActionNOACTION ForeignKeyAction = "NO ACTION" +const ForeignKeyActionRESTRICT ForeignKeyAction = "RESTRICT" +const ForeignKeyActionSETDEFAULT ForeignKeyAction = "SET DEFAULT" +const ForeignKeyActionSETNULL ForeignKeyAction = "SET NULL" + // Foreign key reference definition type ForeignKeyReference struct { // Name of the referenced column @@ -173,20 +181,12 @@ type ForeignKeyReference struct { Name string `json:"name"` // On delete behavior of the foreign key constraint - OnDelete ForeignKeyReferenceOnDelete `json:"on_delete,omitempty"` + OnDelete ForeignKeyAction `json:"on_delete,omitempty"` // Name of the referenced table Table string `json:"table"` } -type ForeignKeyReferenceOnDelete string - -const ForeignKeyReferenceOnDeleteCASCADE ForeignKeyReferenceOnDelete = "CASCADE" -const ForeignKeyReferenceOnDeleteNOACTION ForeignKeyReferenceOnDelete = "NO ACTION" -const ForeignKeyReferenceOnDeleteRESTRICT ForeignKeyReferenceOnDelete = "RESTRICT" -const ForeignKeyReferenceOnDeleteSETDEFAULT ForeignKeyReferenceOnDelete = "SET DEFAULT" -const ForeignKeyReferenceOnDeleteSETNULL ForeignKeyReferenceOnDelete = "SET NULL" - // Map of column names to down SQL expressions type MultiColumnDownSQL map[string]string @@ -276,7 +276,7 @@ type OpCreateConstraintReferences struct { Columns []string `json:"columns"` // On delete behavior of the foreign key constraint - OnDelete ForeignKeyReferenceOnDelete `json:"on_delete,omitempty"` + OnDelete ForeignKeyAction `json:"on_delete,omitempty"` // Name of the table Table string `json:"table"` diff --git a/pkg/sql2pgroll/alter_table.go b/pkg/sql2pgroll/alter_table.go index 5ad0f368..e5b62644 100644 --- a/pkg/sql2pgroll/alter_table.go +++ b/pkg/sql2pgroll/alter_table.go @@ -223,20 +223,20 @@ func convertAlterTableAddForeignKeyConstraint(stmt *pgq.AlterTableStmt, constrai }, nil } -func parseOnDeleteAction(action string) (migrations.ForeignKeyReferenceOnDelete, error) { +func parseOnDeleteAction(action string) (migrations.ForeignKeyAction, error) { switch action { case "a": - return migrations.ForeignKeyReferenceOnDeleteNOACTION, nil + return migrations.ForeignKeyActionNOACTION, nil case "c": - return migrations.ForeignKeyReferenceOnDeleteCASCADE, nil + return migrations.ForeignKeyActionCASCADE, nil case "r": - return migrations.ForeignKeyReferenceOnDeleteRESTRICT, nil + return migrations.ForeignKeyActionRESTRICT, nil case "d": - return migrations.ForeignKeyReferenceOnDeleteSETDEFAULT, nil + return migrations.ForeignKeyActionSETDEFAULT, nil case "n": - return migrations.ForeignKeyReferenceOnDeleteSETNULL, nil + return migrations.ForeignKeyActionSETNULL, nil default: - return migrations.ForeignKeyReferenceOnDeleteNOACTION, fmt.Errorf("unknown delete action: %q", action) + return migrations.ForeignKeyActionNOACTION, fmt.Errorf("unknown delete action: %q", action) } } diff --git a/pkg/sql2pgroll/alter_table_test.go b/pkg/sql2pgroll/alter_table_test.go index f7cb951a..ecdb3025 100644 --- a/pkg/sql2pgroll/alter_table_test.go +++ b/pkg/sql2pgroll/alter_table_test.go @@ -90,23 +90,23 @@ func TestConvertAlterTableStatements(t *testing.T) { }, { sql: "ALTER TABLE foo ADD CONSTRAINT fk_bar_cd FOREIGN KEY (a, b) REFERENCES bar (c, d);", - expectedOp: expect.AddForeignKeyOp1WithOnDelete(migrations.ForeignKeyReferenceOnDeleteNOACTION), + expectedOp: expect.AddForeignKeyOp1WithOnDelete(migrations.ForeignKeyActionNOACTION), }, { sql: "ALTER TABLE foo ADD CONSTRAINT fk_bar_cd FOREIGN KEY (a, b) REFERENCES bar (c, d) ON DELETE NO ACTION;", - expectedOp: expect.AddForeignKeyOp1WithOnDelete(migrations.ForeignKeyReferenceOnDeleteNOACTION), + expectedOp: expect.AddForeignKeyOp1WithOnDelete(migrations.ForeignKeyActionNOACTION), }, { sql: "ALTER TABLE foo ADD CONSTRAINT fk_bar_cd FOREIGN KEY (a, b) REFERENCES bar (c, d) ON DELETE RESTRICT;", - expectedOp: expect.AddForeignKeyOp1WithOnDelete(migrations.ForeignKeyReferenceOnDeleteRESTRICT), + expectedOp: expect.AddForeignKeyOp1WithOnDelete(migrations.ForeignKeyActionRESTRICT), }, { sql: "ALTER TABLE foo ADD CONSTRAINT fk_bar_cd FOREIGN KEY (a, b) REFERENCES bar (c, d) ON DELETE SET DEFAULT ;", - expectedOp: expect.AddForeignKeyOp1WithOnDelete(migrations.ForeignKeyReferenceOnDeleteSETDEFAULT), + expectedOp: expect.AddForeignKeyOp1WithOnDelete(migrations.ForeignKeyActionSETDEFAULT), }, { sql: "ALTER TABLE foo ADD CONSTRAINT fk_bar_cd FOREIGN KEY (a, b) REFERENCES bar (c, d) ON DELETE SET NULL;", - expectedOp: expect.AddForeignKeyOp1WithOnDelete(migrations.ForeignKeyReferenceOnDeleteSETNULL), + expectedOp: expect.AddForeignKeyOp1WithOnDelete(migrations.ForeignKeyActionSETNULL), }, { sql: "ALTER TABLE foo ADD CONSTRAINT fk_bar_c FOREIGN KEY (a) REFERENCES bar (c);", @@ -196,31 +196,31 @@ func TestConvertAlterTableStatements(t *testing.T) { }, { sql: "ALTER TABLE foo ADD COLUMN bar int CONSTRAINT fk_baz REFERENCES baz (bar)", - expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyReferenceOnDeleteNOACTION), + expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyActionNOACTION), }, { sql: "ALTER TABLE foo ADD COLUMN bar int CONSTRAINT fk_baz REFERENCES baz (bar) ON UPDATE NO ACTION", - expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyReferenceOnDeleteNOACTION), + expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyActionNOACTION), }, { sql: "ALTER TABLE foo ADD COLUMN bar int CONSTRAINT fk_baz REFERENCES baz (bar) ON DELETE NO ACTION", - expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyReferenceOnDeleteNOACTION), + expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyActionNOACTION), }, { sql: "ALTER TABLE foo ADD COLUMN bar int CONSTRAINT fk_baz REFERENCES baz (bar) ON DELETE RESTRICT", - expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyReferenceOnDeleteRESTRICT), + expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyActionRESTRICT), }, { sql: "ALTER TABLE foo ADD COLUMN bar int CONSTRAINT fk_baz REFERENCES baz (bar) ON DELETE SET NULL ", - expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyReferenceOnDeleteSETNULL), + expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyActionSETNULL), }, { sql: "ALTER TABLE foo ADD COLUMN bar int CONSTRAINT fk_baz REFERENCES baz (bar) ON DELETE SET DEFAULT", - expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyReferenceOnDeleteSETDEFAULT), + expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyActionSETDEFAULT), }, { sql: "ALTER TABLE foo ADD COLUMN bar int CONSTRAINT fk_baz REFERENCES baz (bar) ON DELETE CASCADE", - expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyReferenceOnDeleteCASCADE), + expectedOp: expect.AddColumnOp8WithOnDeleteAction(migrations.ForeignKeyActionCASCADE), }, { sql: "ALTER TABLE foo ADD COLUMN bar int GENERATED BY DEFAULT AS IDENTITY ", diff --git a/pkg/sql2pgroll/create_table.go b/pkg/sql2pgroll/create_table.go index e1f36f42..f4da4a54 100644 --- a/pkg/sql2pgroll/create_table.go +++ b/pkg/sql2pgroll/create_table.go @@ -11,12 +11,12 @@ import ( "github.com/xataio/pgroll/pkg/migrations" ) -var referentialAction = map[string]migrations.ForeignKeyReferenceOnDelete{ - "a": migrations.ForeignKeyReferenceOnDeleteNOACTION, - "c": migrations.ForeignKeyReferenceOnDeleteCASCADE, - "d": migrations.ForeignKeyReferenceOnDeleteSETDEFAULT, - "n": migrations.ForeignKeyReferenceOnDeleteSETNULL, - "r": migrations.ForeignKeyReferenceOnDeleteRESTRICT, +var referentialAction = map[string]migrations.ForeignKeyAction{ + "a": migrations.ForeignKeyActionNOACTION, + "c": migrations.ForeignKeyActionCASCADE, + "d": migrations.ForeignKeyActionSETDEFAULT, + "n": migrations.ForeignKeyActionSETNULL, + "r": migrations.ForeignKeyActionRESTRICT, } // convertCreateStmt converts a CREATE TABLE statement to a pgroll operation. @@ -285,14 +285,14 @@ func convertConstraint(c *pgq.Constraint) (*migrations.Constraint, error) { matchType = migrations.ConstraintReferencesMatchTypeSIMPLE } columnsToSet := make([]string, len(c.FkDelSetCols)) - onDelete := migrations.ForeignKeyReferenceOnDeleteNOACTION + onDelete := migrations.ForeignKeyActionNOACTION if c.FkDelAction != "" { onDelete = referentialAction[c.FkDelAction] for i, node := range c.FkDelSetCols { columnsToSet[i] = node.GetString_().Sval } } - onUpdate := migrations.ForeignKeyReferenceOnDeleteNOACTION + onUpdate := migrations.ForeignKeyActionNOACTION if c.FkUpdAction != "" { onUpdate = referentialAction[c.FkUpdAction] } diff --git a/pkg/sql2pgroll/expect/add_column.go b/pkg/sql2pgroll/expect/add_column.go index 33eb6757..5d50d6fa 100644 --- a/pkg/sql2pgroll/expect/add_column.go +++ b/pkg/sql2pgroll/expect/add_column.go @@ -135,7 +135,7 @@ var AddColumnOp10 = &migrations.OpAddColumn{ }, } -func AddColumnOp8WithOnDeleteAction(action migrations.ForeignKeyReferenceOnDelete) *migrations.OpAddColumn { +func AddColumnOp8WithOnDeleteAction(action migrations.ForeignKeyAction) *migrations.OpAddColumn { return &migrations.OpAddColumn{ Table: "foo", Up: sql2pgroll.PlaceHolderSQL, diff --git a/pkg/sql2pgroll/expect/add_foreign_key.go b/pkg/sql2pgroll/expect/add_foreign_key.go index 590a20ad..a6148e90 100644 --- a/pkg/sql2pgroll/expect/add_foreign_key.go +++ b/pkg/sql2pgroll/expect/add_foreign_key.go @@ -7,7 +7,7 @@ import ( "github.com/xataio/pgroll/pkg/sql2pgroll" ) -func AddForeignKeyOp1WithOnDelete(onDelete migrations.ForeignKeyReferenceOnDelete) *migrations.OpCreateConstraint { +func AddForeignKeyOp1WithOnDelete(onDelete migrations.ForeignKeyAction) *migrations.OpCreateConstraint { return &migrations.OpCreateConstraint{ Columns: []string{"a", "b"}, Name: "fk_bar_cd", @@ -34,7 +34,7 @@ var AddForeignKeyOp2 = &migrations.OpCreateConstraint{ Name: "fk_bar_c", References: &migrations.OpCreateConstraintReferences{ Columns: []string{"c"}, - OnDelete: migrations.ForeignKeyReferenceOnDeleteNOACTION, + OnDelete: migrations.ForeignKeyActionNOACTION, Table: "bar", }, Table: "foo", @@ -52,7 +52,7 @@ var AddForeignKeyOp3 = &migrations.OpCreateConstraint{ Name: "fk_bar_c", References: &migrations.OpCreateConstraintReferences{ Columns: []string{"c"}, - OnDelete: migrations.ForeignKeyReferenceOnDeleteNOACTION, + OnDelete: migrations.ForeignKeyActionNOACTION, Table: "schema_a.bar", }, Table: "schema_a.foo", diff --git a/pkg/sql2pgroll/expect/create_table.go b/pkg/sql2pgroll/expect/create_table.go index 3317f716..eb493fdc 100644 --- a/pkg/sql2pgroll/expect/create_table.go +++ b/pkg/sql2pgroll/expect/create_table.go @@ -141,7 +141,7 @@ var CreateTableOp12 = &migrations.OpCreateTable{ Name: "foo_a_fkey", Table: "bar", Column: "b", - OnDelete: migrations.ForeignKeyReferenceOnDeleteNOACTION, + OnDelete: migrations.ForeignKeyActionNOACTION, }, }, }, @@ -158,7 +158,7 @@ var CreateTableOp13 = &migrations.OpCreateTable{ Name: "foo_a_fkey", Table: "bar", Column: "b", - OnDelete: migrations.ForeignKeyReferenceOnDeleteRESTRICT, + OnDelete: migrations.ForeignKeyActionRESTRICT, }, }, }, @@ -175,7 +175,7 @@ var CreateTableOp14 = &migrations.OpCreateTable{ Name: "foo_a_fkey", Table: "bar", Column: "b", - OnDelete: migrations.ForeignKeyReferenceOnDeleteSETNULL, + OnDelete: migrations.ForeignKeyActionSETNULL, }, }, }, @@ -192,7 +192,7 @@ var CreateTableOp15 = &migrations.OpCreateTable{ Name: "foo_a_fkey", Table: "bar", Column: "b", - OnDelete: migrations.ForeignKeyReferenceOnDeleteSETDEFAULT, + OnDelete: migrations.ForeignKeyActionSETDEFAULT, }, }, }, @@ -209,7 +209,7 @@ var CreateTableOp16 = &migrations.OpCreateTable{ Name: "foo_a_fkey", Table: "bar", Column: "b", - OnDelete: migrations.ForeignKeyReferenceOnDeleteCASCADE, + OnDelete: migrations.ForeignKeyActionCASCADE, }, }, }, @@ -252,7 +252,7 @@ var CreateTableOp19 = &migrations.OpCreateTable{ Name: "my_fk", Table: "bar", Column: "b", - OnDelete: migrations.ForeignKeyReferenceOnDeleteNOACTION, + OnDelete: migrations.ForeignKeyActionNOACTION, }, }, }, @@ -486,9 +486,9 @@ var CreateTableOp29 = &migrations.OpCreateTable{ References: &migrations.ConstraintReferences{ Table: "bar", Columns: []string{"b"}, - OnDelete: migrations.ForeignKeyReferenceOnDeleteNOACTION, + OnDelete: migrations.ForeignKeyActionNOACTION, OnDeleteSetColumns: []string{}, - OnUpdate: migrations.ForeignKeyReferenceOnDeleteNOACTION, + OnUpdate: migrations.ForeignKeyActionNOACTION, MatchType: migrations.ConstraintReferencesMatchTypeSIMPLE, }, }, @@ -515,9 +515,9 @@ var CreateTableOp30 = &migrations.OpCreateTable{ References: &migrations.ConstraintReferences{ Table: "bar", Columns: []string{"b"}, - OnDelete: migrations.ForeignKeyReferenceOnDeleteSETNULL, + OnDelete: migrations.ForeignKeyActionSETNULL, OnDeleteSetColumns: []string{}, - OnUpdate: migrations.ForeignKeyReferenceOnDeleteCASCADE, + OnUpdate: migrations.ForeignKeyActionCASCADE, MatchType: migrations.ConstraintReferencesMatchTypeSIMPLE, }, }, @@ -549,9 +549,9 @@ var CreateTableOp31 = &migrations.OpCreateTable{ References: &migrations.ConstraintReferences{ Table: "bar", Columns: []string{"c", "d"}, - OnDelete: migrations.ForeignKeyReferenceOnDeleteSETNULL, + OnDelete: migrations.ForeignKeyActionSETNULL, OnDeleteSetColumns: []string{"b"}, - OnUpdate: migrations.ForeignKeyReferenceOnDeleteNOACTION, + OnUpdate: migrations.ForeignKeyActionNOACTION, MatchType: migrations.ConstraintReferencesMatchTypeSIMPLE, }, }, @@ -588,9 +588,9 @@ var CreateTableOp32 = &migrations.OpCreateTable{ References: &migrations.ConstraintReferences{ Table: "bar", Columns: []string{"d", "e", "f"}, - OnDelete: migrations.ForeignKeyReferenceOnDeleteSETNULL, + OnDelete: migrations.ForeignKeyActionSETNULL, OnDeleteSetColumns: []string{}, - OnUpdate: migrations.ForeignKeyReferenceOnDeleteCASCADE, + OnUpdate: migrations.ForeignKeyActionCASCADE, MatchType: migrations.ConstraintReferencesMatchTypeSIMPLE, }, }, @@ -627,9 +627,9 @@ var CreateTableOp33 = &migrations.OpCreateTable{ References: &migrations.ConstraintReferences{ Table: "bar", Columns: []string{"d", "e", "f"}, - OnDelete: migrations.ForeignKeyReferenceOnDeleteNOACTION, + OnDelete: migrations.ForeignKeyActionNOACTION, OnDeleteSetColumns: []string{}, - OnUpdate: migrations.ForeignKeyReferenceOnDeleteNOACTION, + OnUpdate: migrations.ForeignKeyActionNOACTION, MatchType: migrations.ConstraintReferencesMatchTypeFULL, }, }, diff --git a/schema.json b/schema.json index d56be702..f88681d7 100644 --- a/schema.json +++ b/schema.json @@ -115,14 +115,14 @@ }, "on_delete": { "description": "On delete behavior of the foreign key constraint", - "$ref": "#/$defs/ForeignKeyReferenceOnDelete", + "$ref": "#/$defs/ForeignKeyAction", "default": "NO ACTION" } }, "required": ["column", "name", "table"], "type": "object" }, - "ForeignKeyReferenceOnDelete": { + "ForeignKeyAction": { "description": "On delete behavior of the foreign key constraint", "type": "string", "enum": ["NO ACTION", "RESTRICT", "CASCADE", "SET NULL", "SET DEFAULT"] @@ -197,12 +197,12 @@ }, "on_update": { "description": "On update behavior of the foreign key constraint", - "$ref": "#/$defs/ForeignKeyReferenceOnDelete", + "$ref": "#/$defs/ForeignKeyAction", "default": "NO ACTION" }, "on_delete": { "description": "On delete behavior of the foreign key constraint", - "$ref": "#/$defs/ForeignKeyReferenceOnDelete", + "$ref": "#/$defs/ForeignKeyAction", "default": "NO ACTION" }, "on_delete_set_columns": { @@ -785,7 +785,7 @@ }, "on_delete": { "description": "On delete behavior of the foreign key constraint", - "$ref": "#/$defs/ForeignKeyReferenceOnDelete", + "$ref": "#/$defs/ForeignKeyAction", "default": "NO ACTION" } }