Поэтому, хотя я не люблю это делать, простой способ предотвратить работу инициализатора во время DB: мигрировать, но запуск запуска приложения или тестового запуска состоит в том, чтобы обернуть его в тестирование пункта, если таблица существует. Поэтому, если вы возьмете свой существующий код инициализатора и оберните его в
if ActiveRecord::Base.connection.table_exists? 'table_name'
....
end
Где «table_name» - это имя пропущенной таблицы, то оба грабли DB: Migrate и Spec Run должен быть в состоянии успешно завершить.