Ho cercato di eseguire rake db:test:clone_structure
, ma continua a non riuscire a ricostruire il database. Alla fine ho guardato il compito stesso:Dipendenza del rastrello non in esecuzione ma invoca i lavori
task :clone_structure => [ "db:structure:dump", "db:test:load_structure" ]
Quando eseguo la traccia, ho notato che db:test:load_structure
non è sempre eseguita:
$ 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
Ora, quando cambio il compito clone_structure
-invocareload_structure
...
task :clone_structure => [ "db:structure:dump", "db:test:load_structure" ] do
db_namespace["test:load_structure"].invoke
end
... tutto funziona improvvisamente!
$ 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
Cosa potrebbe causare questo comportamento? Sto usando Rails 3.2.14 e Rake 10.1.0.
AGGIORNATO: Ho aggiornato Rails a 3.2.13 da 3.2.11 ed è ancora un problema.
AGGIORNATO IL SECONDO: ho aggiornato Rails a 3.2.14 e rastrello per 10.1.0 ed è ancora un problema
Il tuo structure.sql viene creato senza problemi quando si esegue 'rake db: test: clone_structure'? Vedi qualche problema con esso? –
Puoi provare a eseguire 'RAILS_ENV = test rake db: test: prepare --trace'? A volte ho visto che 'RAILS_ENV' doveva essere impostato per certe attività da eseguire. – Subhas
@yuri: db: test: clone_structure sembra funzionare perfettamente. Farò alcuni debug per essere sicuro. – abeger