0
0
Fork 0

Fix owned account notes not being deleted when an account is deleted (#16579)

* Add account_notes relationship

* Add tests

* Fix owned account notes not being deleted when an account is deleted

* Add post-migration to clean up orphaned account notes
This commit is contained in:
Claire 2021-08-08 15:29:57 +02:00 committed by GitHub
parent 818e0b314f
commit 763ab0c7eb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 31 additions and 2 deletions

View file

@ -0,0 +1,21 @@
# frozen_string_literal: true
class ClearOrphanedAccountNotes < ActiveRecord::Migration[5.2]
class Account < ApplicationRecord
# Dummy class, to make migration possible across version changes
end
class AccountNote < ApplicationRecord
# Dummy class, to make migration possible across version changes
belongs_to :account
belongs_to :target_account, class_name: 'Account'
end
def up
AccountNote.where('NOT EXISTS (SELECT * FROM users u WHERE u.account_id = account_notes.account_id)').in_batches.delete_all
end
def down
# nothing to do
end
end

View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2021_06_30_000137) do
ActiveRecord::Schema.define(version: 2021_08_08_071221) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"