Entonces, aunque no me encanta hacer esto, una manera fácil de evitar que el inicializador se ejecute durante DB: migre, pero ejecutar en el inicio o ejecución de la prueba de la aplicación es envolverlo en una prueba de cláusula si la tabla existe. Entonces, si toma su código inicializador existente y lo envuelve en
if ActiveRecord::Base.connection.table_exists? 'table_name'
....
end
Donde 'table_name' es el nombre de la tabla faltante, entonces ambos rastrillos DB: migrar y la ejecución de la especificación debería poder completarse con éxito.