run remove rails migrations generate foreign add_column ruby-on-rails ruby-on-rails-4 dbmigrate

ruby on rails - remove - Obteniendo: “Las migraciones están pendientes; ejecute ''bin/rake db: migre RAILS_ENV=desarrollo'' para resolver este problema. ”después de clonar y migrar el proyecto



remove migration rails (14)

Cloné mi proyecto. Incluido con "bundle install", luego ejecute "rake db: migrate". Recibo este error: (cuando ejecuto el servidor de Rails y abro mi navegador a localhost: 3000) "Las migraciones están pendientes; ejecute ''bin / rake db: migre RAILS_ENV = desarrollo'' para resolver este problema".

Revisé todas las migraciones una por una y todas se ejecutaron sin errores. Tampoco se mostraron errores después de la ejecución de "rake db: migrate".

Esto es lo que veo cuando ejecuto " rake db: migrate: status "

Estoy en el entorno de desarrollo. Por favor, hágamelo saber si necesita cualquier otra información.

También probé "bundle exec rake db: migrate", y "bundle exec rake db: migrate: reset" como se sugiere "burninggramma".

¿Alguna pista de qué causa el error?


Abra la base de datos y haga clic en la tabla schema_migration. Las migraciones se enumeran a continuación.

Ordene la columna de la versión y encuentre la última migración que desea volver. Eliminar o insertar uno nuevo. Rails mantiene todo el historial de migración en esta tabla, para que pueda ajustar el historial de migración a su gusto.


Cuando rake test y encontré el error:

"rake aborted! ActiveRecord :: PendingMigrationError: Las migraciones están pendientes. Para resolver este problema, ejecute: bin / rake db: migrate RAILS_ENV = test"

Lo intenté y tuve éxito con:

rm -f db/*.sqlite3 rake db:create RAILS_ENV=development rake db:migrate rails s -e development


Después de ejecutar el comando migrar, todavía tenía el mismo error.

Lo que funcionó para mí fue simplemente detener el servidor de rieles e iniciarlo de nuevo.


Dos razones por las que ''db: migrate: reset'' no me funcionó

1) loosing data 2) we moved from php to rails, so we had an existing DB and the migrations were written on top of it not from the scratch

Entonces, lo que intenté es actualizar la tabla ''scheema_migrations'' (mysql) con la lista de migraciones (solo valores de versión) que estaba realmente seguro de que ya estaba ejecutando en mi db (desarrollo), esto puede llevar mucho tiempo, pero funciona . Aunque no intentaría esto en producción.


Ejecutar rake db:migrate RAILS_ENV=test hizo por mí


Esto es lo que me funcionó: -gem install rails -v 4.1.0 Inside Gemfile: -gem ''rails'', ''4.1.0'' (reemplace el más nuevo / antiguo con este) Instale y actualice los paquetes -bundle install -bundle update In your application.rb: Remove / Comment - config.active_record.raise_in_transactional_callbacks = true

ejecutar bundle rake: -bundle exec rake db: migrate Actualice su página y el error desaparecerá.


Interesante. ¿Has ejecutado rake db: create ? Suponiendo que está utilizando sqlite3, haga esto:

rm -f db/*.sqlite3 rake db:create RAILS_ENV=development rake db:migrate rails s -e development

Además, ¿puede enumerar los contenidos de su archivo config / database.yml ?

Edición: ¡Advertencia! Obviamente, perderá sus datos existentes.


Liste sus migraciones ejecutadas con rake db:migrate:status y vea si se ejecutó cada migración. Puede intentar cancelar su migración con rake db:abort_if_pending_migrations e intentar migrar nuevamente.


Obtuve el mismo error al trabajar en el tutorial Aprender lo suficiente para ser ferroviarios peligrosos . Estoy usando terminales Git Bash en una máquina con Windows 10. El error apareció en el terminal donde estoy ejecutando guardia, después de que intenté migrar mi db usando el comando (en otro terminal):

$ bundle exec rake db: migrate:

Después de probar la solución ofrecida por @lewstherin, todavía obtuve el mismo error. Intenté el comando:

$ rails test Y recibí la advertencia explícita y útil:

Migrations are pending. To resolve this issue, run:

bin/rails db:migrate RAILS_ENV=test

Ejecuté el comando:

$ bin/rails db:migrate RAILS_ENV=test

Y ahora estoy trabajando de nuevo.


Siempre puedes ejecutar rake db: reset


Supongo que el error es que estás creando una tabla que ya existe, tuve este problema antes. Paso 1 ver el error cuando rastrilla dv: migrate

Paso 2 ir al modelo donde se crea esta tabla

Paso 3 agregue drop_table: [SU TABLA] justo antes de create_table: [SU TABLA]

Paso 2 ejecuta rake db: migrate

Paso 3: elimine el drop_table una vez que haya finalizado su migración.


Tuve el mismo error en el navegador, pero al mirar de cerca el mensaje de error, noté que había un espacio en blanco adicional en los archivos de comentarios y publicaciones de migrate. Una vez que lo quité, funcionó perfectamente.


Tuve este problema y fue porque tenía mis archivos de rieles dentro de una carpeta llamada "[rieles]". Parece que a rake no le gustan los siguientes símbolos "[]" usados ​​en el nombre de una carpeta.

Espero que esto ayude a otros con este problema.


1. Tal vez sea su valor predeterminado en ruby2 / rails4 pero, ¿has intentado: bundle exec rake db:migrate ?

2. Otra opción sería restablecer toda la base de datos, ¡ use con PRECAUCIÓN! también restablece todos los datos - bundle exec rake db:migrate:reset

+) Solo me aseguraría de que esté ejecutando todo en el mismo entorno de desarrollo:

RAILS_ENV=development bundle exec rake db:migrate:reset RAILS_ENV=development bundle exec rails s