diff options
author | Benjamin Neff <benjamin@coding4coffee.ch> | 2017-08-13 17:51:08 +0300 |
---|---|---|
committer | Benjamin Neff <benjamin@coding4coffee.ch> | 2017-08-13 20:43:04 +0300 |
commit | 245ad9e04de7f65e2cc40f2c02d4462021c12ea6 (patch) | |
tree | a705b058c303506d417f0b93e71c368e71426947 /db | |
parent | fa0b78f5a2cd87171dc5bbe9d1f3871e7044b761 (diff) |
Remove diaspora_handle from AccountDeletions and add unique index
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/20170813141631_cleanup_account_deletions_and_add_unique_index.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/db/migrate/20170813141631_cleanup_account_deletions_and_add_unique_index.rb b/db/migrate/20170813141631_cleanup_account_deletions_and_add_unique_index.rb new file mode 100644 index 000000000..6d188278d --- /dev/null +++ b/db/migrate/20170813141631_cleanup_account_deletions_and_add_unique_index.rb @@ -0,0 +1,19 @@ +class CleanupAccountDeletionsAndAddUniqueIndex < ActiveRecord::Migration[5.1] + def up + remove_column :account_deletions, :diaspora_handle + + duplicate_query = "WHERE a1.person_id = a2.person_id AND a1.id > a2.id" + if AppConfig.postgres? + execute("DELETE FROM account_deletions AS a1 USING account_deletions AS a2 #{duplicate_query}") + else + execute("DELETE a1 FROM account_deletions a1, account_deletions a2 #{duplicate_query}") + end + + add_index :account_deletions, :person_id, name: :index_account_deletions_on_person_id, unique: true + end + + def down + remove_index :account_deletions, name: :index_account_deletions_on_person_id + add_column :account_deletions, :diaspora_handle, :string + end +end |