diff options
author | Claire <claire.github-309c@sitedethib.com> | 2021-03-19 02:43:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-19 02:43:13 +0100 |
commit | 9aaaa96d2ff5e27f065375a2544e86afa31a4e13 (patch) | |
tree | a31ac84bfcd8b0038ddacd2dfdf9d87a486753d7 /lib/active_record | |
parent | a4dcaef53b97c58fd153de6f151b6fada40f3442 (diff) |
Use more robust hook for loading timestamp_id function into database (#15919)
Diffstat (limited to 'lib/active_record')
-rw-r--r-- | lib/active_record/database_tasks_extensions.rb | 20 |
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 |