about summary refs log tree commit diff
path: root/db/migrate/20200521180606_encrypted_message_ids_to_timestamp_ids.rb
diff options
context:
space:
mode:
Diffstat (limited to 'db/migrate/20200521180606_encrypted_message_ids_to_timestamp_ids.rb')
-rw-r--r--db/migrate/20200521180606_encrypted_message_ids_to_timestamp_ids.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/db/migrate/20200521180606_encrypted_message_ids_to_timestamp_ids.rb b/db/migrate/20200521180606_encrypted_message_ids_to_timestamp_ids.rb
new file mode 100644
index 000000000..24d43a0bf
--- /dev/null
+++ b/db/migrate/20200521180606_encrypted_message_ids_to_timestamp_ids.rb
@@ -0,0 +1,13 @@
+class EncryptedMessageIdsToTimestampIds < ActiveRecord::Migration[5.2]
+  def up
+    safety_assured do
+      execute("ALTER TABLE encrypted_messages ALTER COLUMN id SET DEFAULT timestamp_id('encrypted_messages')")
+    end
+  end
+
+  def down
+    execute("LOCK encrypted_messages")
+    execute("SELECT setval('encrypted_messages_id_seq', (SELECT MAX(id) FROM encrypted_messages))")
+    execute("ALTER TABLE encrypted_messages ALTER COLUMN id SET DEFAULT nextval('encrypted_messages_id_seq')")
+  end
+end