module ActiveRecord::Generators::Migration

def configured_migrate_path

def configured_migrate_path
  return unless database = options[:database]
  config = ActiveRecord::Base.configurations.configs_for(
    env_name: Rails.env,
    name: database
  )
  config&.migrations_paths
end

def db_migrate_path

def db_migrate_path
  if defined?(Rails.application) && Rails.application
    configured_migrate_path || default_migrate_path
  else
    "db/migrate"
  end
end

def default_migrate_path

def default_migrate_path
  Rails.application.config.paths["db/migrate"].to_ary.first
end

def foreign_key_type

def foreign_key_type
  key_type = options[:primary_key_type]
  ", type: :#{key_type}" if key_type
end

def primary_key_type

def primary_key_type
  key_type = options[:primary_key_type]
  ", id: :#{key_type}" if key_type
end