diff --git a/backend/migrations/20260127132617_add_cascade_delete_for_backups_and_databases.sql b/backend/migrations/20260127132617_add_cascade_delete_for_backups_and_databases.sql index 43d9dac..270803f 100644 --- a/backend/migrations/20260127132617_add_cascade_delete_for_backups_and_databases.sql +++ b/backend/migrations/20260127132617_add_cascade_delete_for_backups_and_databases.sql @@ -1,7 +1,6 @@ -- +goose Up -- +goose StatementBegin --- Fix backups -> storages relationship (change from RESTRICT to CASCADE) ALTER TABLE backups DROP CONSTRAINT fk_backups_storage_id; @@ -11,7 +10,6 @@ ALTER TABLE backups REFERENCES storages (id) ON DELETE CASCADE; --- Fix databases -> workspaces relationship (add CASCADE) ALTER TABLE databases DROP CONSTRAINT fk_databases_workspace_id; @@ -21,12 +19,20 @@ ALTER TABLE databases REFERENCES workspaces (id) ON DELETE CASCADE; +ALTER TABLE backup_configs + DROP CONSTRAINT fk_backup_config_storage_id; + +ALTER TABLE backup_configs + ADD CONSTRAINT fk_backup_config_storage_id + FOREIGN KEY (storage_id) + REFERENCES storages (id) + ON DELETE CASCADE; + -- +goose StatementEnd -- +goose Down -- +goose StatementBegin --- Restore original backups -> storages relationship (RESTRICT) ALTER TABLE backups DROP CONSTRAINT fk_backups_storage_id; @@ -36,7 +42,6 @@ ALTER TABLE backups REFERENCES storages (id) ON DELETE RESTRICT; --- Restore original databases -> workspaces relationship (no CASCADE) ALTER TABLE databases DROP CONSTRAINT fk_databases_workspace_id; @@ -45,4 +50,12 @@ ALTER TABLE databases FOREIGN KEY (workspace_id) REFERENCES workspaces (id); +ALTER TABLE backup_configs + DROP CONSTRAINT fk_backup_config_storage_id; + +ALTER TABLE backup_configs + ADD CONSTRAINT fk_backup_config_storage_id + FOREIGN KEY (storage_id) + REFERENCES storages (id); + -- +goose StatementEnd