Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/diaspora/diaspora.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorBenjamin Neff <benjamin@coding4coffee.ch>2017-08-13 17:51:08 +0300
committerBenjamin Neff <benjamin@coding4coffee.ch>2017-08-13 20:43:04 +0300
commit245ad9e04de7f65e2cc40f2c02d4462021c12ea6 (patch)
treea705b058c303506d417f0b93e71c368e71426947 /db
parentfa0b78f5a2cd87171dc5bbe9d1f3871e7044b761 (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.rb19
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