about summary refs log tree commit diff
path: root/lib/active_record/database_tasks_extensions.rb
blob: e274f476dff720ea6e67eb7a87c7bbe3b3bd07d9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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