customink / secondbase

Seamless second database integration for Rails.
MIT License
220 stars 31 forks source link

rake tasks for second_base does not load environment #59

Closed senid231 closed 2 months ago

senid231 commented 6 years ago

ActiveRecord task db:migrate loads environment and config activerecord-5.1.4/lib/active_record/railties/databases.rake:56

desc "Migrate the database (options: VERSION=x, VERBOSE=false, SCOPE=blog)."
task migrate: [:environment, :load_config] do
  ActiveRecord::Tasks::DatabaseTasks.migrate
  db_namespace["_dump"].invoke
end

And SecondBase task db:second_base:migrate loads only config secondbase-2.1.4/lib/second_base/databases.rake:30

task :migrate => ['db:load_config'] do
  SecondBase.on_base { Rake::Task['db:migrate'].execute }
end

as result I can't you classes/modules from app folder in migrations for second database

senid231 commented 6 years ago

it should be

task :migrate => ['db:load_config', :environment] do
  SecondBase.on_base { Rake::Task['db:migrate'].execute }
end

I tested this fix and it works fine

also I had another bug - after applying second_base:migrate I saw invalid inserts into schema_migrations in db/second_base/migrate/structure.sql (but second_base database schema_migrations had only correct data).

seems like this procees was broken after upgrading rake to 12.3.1

workgena commented 6 years ago

Similar situation here #50 and some other commadns

metaskills commented 6 years ago

Can someone open a PR to make that change? Would love to fix this and release a new version.