about summary refs log tree commit diff
path: root/db/migrate/20180707193142_migrate_filters.rb
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2018-08-13 18:17:48 +0200
committerThibG <thib@sitedethib.com>2018-08-16 20:30:09 +0200
commit80148d8edde56bb21869e055ed83b38d81e919f3 (patch)
tree8b39c28ef6687e43ea3d9b5940ef26221a224d9f /db/migrate/20180707193142_migrate_filters.rb
parent494eaab5b137cb69122566d6e65f001c0e969deb (diff)
Split custom filter migration script using the post-deployment migration system
There were some concerns with the custom filter migration script dropping a table,
thus making it unsafe to run in a zero-downtime setting. Upstream introduced
a way to run migrations after deployment, so revisit the old migration script to
make use of this.
Diffstat (limited to 'db/migrate/20180707193142_migrate_filters.rb')
-rw-r--r--db/migrate/20180707193142_migrate_filters.rb20
1 files changed, 10 insertions, 10 deletions
diff --git a/db/migrate/20180707193142_migrate_filters.rb b/db/migrate/20180707193142_migrate_filters.rb
index 455ce71ed..10b814c0f 100644
--- a/db/migrate/20180707193142_migrate_filters.rb
+++ b/db/migrate/20180707193142_migrate_filters.rb
@@ -29,21 +29,21 @@ class MigrateFilters < ActiveRecord::Migration[5.2]
         whole_word: filter.whole_word,
         irreversible: true)
     end
-
-    drop_table :glitch_keyword_mutes
   end
 
   def down
-    create_table "glitch_keyword_mutes" do |t|
-      t.references :account, null: false
-      t.string :keyword, null: false
-      t.boolean :whole_word, default: true, null: false
-      t.boolean :apply_to_mentions, default: true, null: false
-      t.timestamps
+    unless table_exists? :glitch_keyword_mutes
+      create_table :glitch_keyword_mutes do |t|
+        t.references :account, null: false
+        t.string :keyword, null: false
+        t.boolean :whole_word, default: true, null: false
+        t.boolean :apply_to_mentions, default: true, null: false
+        t.timestamps
+      end
+
+      add_foreign_key :glitch_keyword_mutes, :accounts, on_delete: :cascade
     end
 
-    add_foreign_key :glitch_keyword_mutes, :accounts, on_delete: :cascade
-
     CustomFilter.where(irreversible: true).find_each do |filter|
       GlitchKeywordMute.where(account: filter.account).create!(
         keyword: filter.phrase,