Ich habe versucht, rake db:test:clone_structure
auszuführen, aber die Datenbank wird nicht wiederhergestellt. Ich sah schließlich an der Aufgabe selbst:Die Rake-Abhängigkeit wird nicht ausgeführt, ruft aber auf.
task :clone_structure => [ "db:structure:dump", "db:test:load_structure" ]
Wenn ich die Spur laufen, habe ich bemerkt, dass db:test:load_structure
nicht ausgeführt zu werden:
$ 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
Nun, wenn ich die clone_structure
Aufgabe ändern rufenload_structure
...
task :clone_structure => [ "db:structure:dump", "db:test:load_structure" ] do
db_namespace["test:load_structure"].invoke
end
... plötzlich alles funktioniert!
$ 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
Was könnte möglicherweise dieses Verhalten verursachen? Ich benutze Rails 3.2.14 und Rake 10.1.0.
AKTUALISIERT: Ich habe Rails 3.2.13 von 3.2.11 aktualisiert und es ist immer noch ein Problem.
DIE ZWEITE AKTUALISIERT: ich Rails 3.2.14 aktualisiert und Rechen auf 10.1.0 und es ist immer noch ein Problem
Wird Ihre Struktur.sql ohne Probleme erstellt, wenn Sie 'Rake db: test: clone_structure' ausführen? Sehen Sie irgendwelche Probleme damit? –
Können Sie versuchen, 'RAILS_ENV = test rake db: test: prepare --trace' auszuführen? Ich habe manchmal gesehen, dass 'RAILS_ENV' für bestimmte Aufgaben gesetzt werden musste, um ausgeführt zu werden. – Subhas
@yuri: db: test: Klonstruktur sieht so aus, als ob es perfekt funktioniert. Ich werde ein paar Debugs einwerfen, um sicherzugehen. – abeger