Add missing `on_delete: :cascade` on `notification_permissions` (#32281)

pull/2872/head
Claire 2024-10-07 09:46:03 +02:00 committed by GitHub
parent 0ce2db4f7d
commit a59160cf01
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 42 additions and 3 deletions

View File

@ -0,0 +1,39 @@
# frozen_string_literal: true
class FixNotificationPermissionForeignKeys < ActiveRecord::Migration[7.1]
def up
safety_assured do
execute <<~SQL.squish
ALTER TABLE notification_permissions
DROP CONSTRAINT fk_rails_7c0bed08df,
ADD CONSTRAINT fk_rails_7c0bed08df
FOREIGN KEY (account_id)
REFERENCES accounts(id)
ON DELETE CASCADE,
DROP CONSTRAINT fk_rails_e3e0aaad70,
ADD CONSTRAINT fk_rails_e3e0aaad70
FOREIGN KEY (from_account_id)
REFERENCES accounts(id)
ON DELETE CASCADE
SQL
end
end
def down
safety_assured do
execute <<~SQL.squish
ALTER TABLE notification_permissions
DROP CONSTRAINT fk_rails_7c0bed08df,
ADD CONSTRAINT fk_rails_7c0bed08df
FOREIGN KEY (account_id)
REFERENCES accounts(id),
DROP CONSTRAINT fk_rails_e3e0aaad70,
ADD CONSTRAINT fk_rails_e3e0aaad70
FOREIGN KEY (from_account_id)
REFERENCES accounts(id)
SQL
end
end
end

View File

@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[7.1].define(version: 2024_09_16_190140) do ActiveRecord::Schema[7.1].define(version: 2024_10_07_071624) do
# These are extensions that must be enabled in order to support this database # These are extensions that must be enabled in order to support this database
enable_extension "plpgsql" enable_extension "plpgsql"
@ -1291,8 +1291,8 @@ ActiveRecord::Schema[7.1].define(version: 2024_09_16_190140) do
add_foreign_key "mentions", "statuses", on_delete: :cascade add_foreign_key "mentions", "statuses", on_delete: :cascade
add_foreign_key "mutes", "accounts", column: "target_account_id", name: "fk_eecff219ea", on_delete: :cascade add_foreign_key "mutes", "accounts", column: "target_account_id", name: "fk_eecff219ea", on_delete: :cascade
add_foreign_key "mutes", "accounts", name: "fk_b8d8daf315", on_delete: :cascade add_foreign_key "mutes", "accounts", name: "fk_b8d8daf315", on_delete: :cascade
add_foreign_key "notification_permissions", "accounts" add_foreign_key "notification_permissions", "accounts", column: "from_account_id", on_delete: :cascade
add_foreign_key "notification_permissions", "accounts", column: "from_account_id" add_foreign_key "notification_permissions", "accounts", on_delete: :cascade
add_foreign_key "notification_policies", "accounts", on_delete: :cascade add_foreign_key "notification_policies", "accounts", on_delete: :cascade
add_foreign_key "notification_requests", "accounts", column: "from_account_id", on_delete: :cascade add_foreign_key "notification_requests", "accounts", column: "from_account_id", on_delete: :cascade
add_foreign_key "notification_requests", "accounts", on_delete: :cascade add_foreign_key "notification_requests", "accounts", on_delete: :cascade