migration_tasks = %w[db:migrate db:migrate:up db:migrate:down db:migrate:reset db:migrate:redo db:rollback]
# Rails 6 supports multi-database setups if defined?(Rails::Application) && Rails.version.split('.').first.to_i >= 6
require 'active_record' databases = ActiveRecord::Tasks::DatabaseTasks.setup_initial_database_yaml # the db:migrate tasks each have a separate command for migrating a single database ActiveRecord::Tasks::DatabaseTasks.for_each(databases) do |spec_name| migration_tasks.concat(%w[db:migrate db:migrate:up db:migrate:down].map { |task| "#{task}:#{spec_name}" }) end
end
migration_tasks.each do |task|
Rake::Task[task].enhance([:ghost_adapter_exec])
end
task ghost_adapter_exec: :environment do
GhostAdapter::Internal.enable_ghost_migration!
end