about summary refs log tree commit diff
path: root/db/migrate
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>2017-04-30 07:27:31 +0900
committerEugen Rochko <eugen@zeonfederated.com>2017-04-30 00:27:31 +0200
commit5135d609b774b177d3d3894b176a822d86b73d3c (patch)
treed0c2d75383518ab63fa80df617dd62bec25bba89 /db/migrate
parentf48cb3eb170314cba1938522c0da44af21d47e83 (diff)
Use PostgreSQL inheritance for blocks and mutes (#2520)
Diffstat (limited to 'db/migrate')
-rw-r--r--db/migrate/20180428000000_create_block_mutes.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/db/migrate/20180428000000_create_block_mutes.rb b/db/migrate/20180428000000_create_block_mutes.rb
new file mode 100644
index 000000000..149c91a4d
--- /dev/null
+++ b/db/migrate/20180428000000_create_block_mutes.rb
@@ -0,0 +1,19 @@
+class CreateBlockMutes < ActiveRecord::Migration[5.0]
+  def change
+    create_table "block_mutes", force: :casecade do |t|
+      t.integer  "account_id",        null: false
+      t.integer  "target_account_id", null: false
+      t.boolean  "block",             null: false
+      t.datetime "created_at",        null: false
+      t.datetime "updated_at",        null: false
+    end
+
+    add_column       :blocks, :block, :boolean, null: false
+    execute          "ALTER TABLE blocks ADD CONSTRAINT check_mutes_on_block CHECK(block = TRUE), INHERIT block_mutes"
+    Block.update_all block: true
+
+    add_column       :mutes, :block, :boolean, null: false
+    execute          "ALTER TABLE mutes ADD CONSTRAINT check_mutes_on_block CHECK(block = FALSE), INHERIT block_mutes"
+    Mute.update_all block: false
+  end
+end