about summary refs log tree commit diff
path: root/lib/active_record/database_tasks_extensions.rb
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2021-03-19 14:34:08 +0100
committerGitHub <noreply@github.com>2021-03-19 14:34:08 +0100
commitc7f04961b6dcb1b7e12136deadcf65076c130c40 (patch)
tree20788cbb86d4ae8d38ce539325205e5f0a1ee344 /lib/active_record/database_tasks_extensions.rb
parentba22398c38067e05f141a0dddeb20bf68913988a (diff)
parent3b7b607300d662aa1f25d459ca12aec89ab550e8 (diff)
Merge pull request #1513 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'lib/active_record/database_tasks_extensions.rb')
-rw-r--r--lib/active_record/database_tasks_extensions.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/active_record/database_tasks_extensions.rb b/lib/active_record/database_tasks_extensions.rb
new file mode 100644
index 000000000..e274f476d
--- /dev/null
+++ b/lib/active_record/database_tasks_extensions.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+require_relative '../mastodon/snowflake'
+
+module ActiveRecord
+  module Tasks
+    module DatabaseTasks
+      original_load_schema = instance_method(:load_schema)
+
+      define_method(:load_schema) do |db_config, *args|
+        ActiveRecord::Base.establish_connection(db_config)
+        Mastodon::Snowflake.define_timestamp_id
+
+        original_load_schema.bind(self).call(db_config, *args)
+
+        Mastodon::Snowflake.ensure_id_sequences_exist
+      end
+    end
+  end
+end