7

Creé un nuevo motor en Rails 3.1.3 y aparentemente existe esa tarea de rake que copia todas las migraciones. Probé siguiente rake abc:install:migrations el cual arrojó:La instalación de migraciones desde el motor no funcionará

rake aborted! 
Don't know how to build task 'abc:install:migrations' 

(See full trace by running task with --trace) 

También probé rake abc_engine:install:migrations con el mismo resultado.

Luego leo bundle exec rake railties:install:migrations o bundle exec rake railties:install:migrations FROM=abc_engine que también debería hacer el truco pero no éxito. No se copió nada aunque no se haya producido ningún error.

Mis migraciones se encuentran en db/migrar/dentro de la carpeta del motor y me corrieron todos los comandos anteriores de especificación/maniquí/

¿Alguien sabe cómo utilizar esta nueva tarea rastrillo con el fin de copiar las migraciones desde el motor ?

+0

Estoy atascado como usted, la documentación realmente falta aquí! –

Respuesta

2

Finalmente encontré/tuve suerte con mi problema (similar). Para el primer error, simplemente desapareció, no estoy seguro de por qué. Luego descubrí que no había creado las migraciones con el formato de nombre de archivo habitual, por lo que el método ActiveRecord::Migrator.migrations las ignoraba.

+0

Gracias por señalar que las migraciones forman parte del activerecord, no lo tengo en mi proyecto, por lo que no funcionaba: / – Geoffroy

10

me encontré con este lugar:

rake railties:install:migrations 

Y mis migraciones fueron copiados desde el motor. Espero que esto ayude.

0

Si la aplicación a la que está montando el motor no tiene ActiveRecord (es decir, está introduciendo ActiveRecord a su aplicación de host por primera vez montando el motor), también puede obtener este error. Específicamente, obtendrá este error si no tiene require "active_record/railtie" en su application.rb, o si está comentado. Esa línea es lo que habilita la tarea rake railties:install:migrations, que se define here. rake railties:install:migrations es, a su vez, llamado por la tarea rake abc_engine:install:migrationshere.

Tl; dr: intente agregar require "active_record/railtie" a su application.rb si no está ya allí.

Cuestiones relacionadas