I tried to run rake db:test:clone_structure , but it was not able to restore the database. I finally looked at the task:
task :clone_structure => [ "db:structure:dump", "db:test:load_structure" ]
When I run the trace, I noticed that db:test:load_structure not running:
$ rake db:test:clone_structure --trace ** Invoke db:test:clone_structure (first_time) ** Invoke db:structure:dump (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute db:structure:dump ** Invoke db:test:purge (first_time) ** Invoke environment ** Execute db:test:purge ** Execute db:test:clone_structure
Now when I change the clone_structure task to call load_structure ...
task :clone_structure => [ "db:structure:dump", "db:test:load_structure" ] do db_namespace["test:load_structure"].invoke end
... everything suddenly works!
$ rake db:test:prepare --trace ** Invoke db:test:clone_structure (first_time) ** Invoke db:structure:dump (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute db:structure:dump ** Invoke db:test:purge (first_time) ** Invoke environment ** Execute db:test:purge ** Execute db:test:clone_structure ** Invoke db:test:load_structure (first_time) ** Invoke db:test:purge ** Execute db:test:load_structure ** Invoke db:structure:load (first_time) ** Invoke environment ** Invoke db:load_config (first_time) ** Execute db:load_config ** Execute db:structure:load
What could be causing this behavior? I am using Rails 3.2.14 and Rake 10.1.0.
UPDATED: I upgraded Rails to 3.2.13 from 3.2.11 and this is still a problem.
UPDATED SECOND: I upgraded Rails to 3.2.14 and Rake to 10.1.0, and this is still a problem
abeger
source share