diff --git a/dictation_server/db/migrations/042-add-foreign-key-for-account-delete.sql b/dictation_server/db/migrations/042-add-foreign-key-for-account-delete.sql new file mode 100644 index 0000000..98fb9ca --- /dev/null +++ b/dictation_server/db/migrations/042-add-foreign-key-for-account-delete.sql @@ -0,0 +1,33 @@ +-- +migrate Up +ALTER TABLE `users` ADD CONSTRAINT `users_fk_account_id` FOREIGN KEY(account_id) REFERENCES accounts(id) ON DELETE CASCADE; +ALTER TABLE `sort_criteria` ADD CONSTRAINT `sort_criteria_fk_user_id` FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE CASCADE; +ALTER TABLE `license_orders` ADD CONSTRAINT `license_orders_fk_from_account_id` FOREIGN KEY(from_account_id) REFERENCES accounts(id) ON DELETE CASCADE; +ALTER TABLE `licenses` ADD CONSTRAINT `licenses_fk_account_id` FOREIGN KEY(account_id) REFERENCES accounts(id) ON DELETE CASCADE; +ALTER TABLE `card_licenses` ADD CONSTRAINT `card_licenses_fk_license_id` FOREIGN KEY(license_id) REFERENCES licenses(id) ON DELETE CASCADE; +ALTER TABLE `license_allocation_history` ADD CONSTRAINT `license_allocation_history_fk_account_id` FOREIGN KEY(account_id) REFERENCES accounts(id) ON DELETE CASCADE; +ALTER TABLE `user_group` ADD CONSTRAINT `user_group_fk_account_id` FOREIGN KEY(account_id) REFERENCES accounts(id) ON DELETE CASCADE; +ALTER TABLE `user_group_member` ADD CONSTRAINT `user_group_member_fk_user_group_id` FOREIGN KEY(user_group_id) REFERENCES user_group(id) ON DELETE CASCADE; +ALTER TABLE `audio_files` ADD CONSTRAINT `audio_files_fk_account_id` FOREIGN KEY(account_id) REFERENCES accounts(id) ON DELETE CASCADE; +ALTER TABLE `audio_option_items` ADD CONSTRAINT `audio_option_items_fk_audio_file_id` FOREIGN KEY(audio_file_id) REFERENCES audio_files(id) ON DELETE CASCADE; +ALTER TABLE `worktypes` ADD CONSTRAINT `worktypes_fk_account_id` FOREIGN KEY(account_id) REFERENCES accounts(id) ON DELETE CASCADE; +ALTER TABLE `option_items` ADD CONSTRAINT `option_items_fk_worktype_id` FOREIGN KEY(worktype_id) REFERENCES worktypes(id) ON DELETE CASCADE; +ALTER TABLE `template_files` ADD CONSTRAINT `template_files_fk_account_id` FOREIGN KEY(account_id) REFERENCES accounts(id) ON DELETE CASCADE; +ALTER TABLE `tasks` ADD CONSTRAINT `tasks_fk_account_id` FOREIGN KEY(account_id) REFERENCES accounts(id) ON DELETE CASCADE; +ALTER TABLE `checkout_permission` ADD CONSTRAINT `checkout_permission_fk_task_id` FOREIGN KEY(task_id) REFERENCES tasks(id) ON DELETE CASCADE; + +-- +migrate Down +ALTER TABLE `users` DROP FOREIGN KEY `users_fk_account_id`; +ALTER TABLE `sort_criteria` DROP FOREIGN KEY `sort_criteria_fk_user_id`; +ALTER TABLE `license_orders` DROP FOREIGN KEY `license_orders_fk_from_account_id`; +ALTER TABLE `licenses` DROP FOREIGN KEY `licenses_fk_account_id`; +ALTER TABLE `card_licenses` DROP FOREIGN KEY `card_licenses_fk_license_id`; +ALTER TABLE `license_allocation_history` DROP FOREIGN KEY `license_allocation_history_fk_account_id`; +ALTER TABLE `user_group` DROP FOREIGN KEY `user_group_fk_account_id`; +ALTER TABLE `user_group_member` DROP FOREIGN KEY `user_group_member_fk_user_group_id`; +ALTER TABLE `audio_files` DROP FOREIGN KEY `audio_files_fk_account_id`; +ALTER TABLE `audio_option_items` DROP FOREIGN KEY `audio_option_items_fk_audio_file_id`; +ALTER TABLE `worktypes` DROP FOREIGN KEY `worktypes_fk_account_id`; +ALTER TABLE `option_items` DROP FOREIGN KEY `option_items_fk_worktype_id`; +ALTER TABLE `template_files` DROP FOREIGN KEY `template_files_fk_account_id`; +ALTER TABLE `tasks` DROP FOREIGN KEY `tasks_fk_account_id`; +ALTER TABLE `checkout_permission` DROP FOREIGN KEY `checkout_permission_fk_task_id`;