È sorprendente che gli inizializzatori di Rails vengano eseguiti durante l'esecuzione di qualsiasi attività rake, tra cui db:migrate
e db:seed
.Gli inizializzatori dei rails sono in esecuzione durante la migrazione del database
Un inizializzatore nella mia app avvia un thread in background (una sorta di processo di lavoro) e deve essere eseguito solo quando l'applicazione è in esecuzione in modalità di debug e produzione.
Come impedire l'esecuzione di un inizializzatore specifico quando si esegue rake db:migrate
o come rilevare nell'inizializzatore che è in esecuzione un'attività di rake?
Le migrazioni devono caricare il proprio ambiente, gli inizializzatori sono parte integrante di un ambiente. Se è necessario che un inizializzatore non venga eseguito durante la migrazione, probabilmente si trova nel posto sbagliato. – Matt