2009-08-28 19 views

Respuesta

34

Hay rake db:abort_if_pending_migrations (al menos en Rails 2.3.3, no estoy seguro de cuándo se introdujo). La descripción dice 'genera un error si hay migraciones pendientes'. Esto parece usarse más como un requisito previo para otras tareas, pero supongo que podría usarlo para sus propósitos.

EDIT: He aquí un ejemplo de la salida después de haber acaba de generar y ejecutar una migración no 'prueba'

rails_project theIV$ rake db:abort_if_pending_migrations 
(in /Users/theIV/Sites/rails_project/) 
You have 1 pending migrations: 
    20090828200602 Test 
Run "rake db:migrate" to update your database then try again. 
+0

Me encanta agregar esto para organizar las dependencias entre los contenedores de rieles –

+0

Todavía allí en Rails 4.1.16 – Magne

+0

Funciona en rieles 5.1.3 así –

2

-h Try rastrillo (ayuda) y echar un vistazo a -n rastrillo (rake = --dry-run). Entonces, probablemente algo como "rake -n db: migrate" debería darte lo que deseas.

+2

Eso no funcionará. Simplemente imprime: ** Invoque db: migrate (first_time) ** Entorno de invocación (first_time) ** Entorno de ejecución (ejecución en seco) ** Execute (ejecución en seco) db: migrate – jrdioko

210

rake db:migrate:status lo lograrán en Rails 3. Consulte the commit.

+0

Me aparece 'Do not saber cómo construir la tarea 'db: migrate: status'' on rails 3.2.8 –

+1

@PeterEhrlich: ¿No aparece en 'rake -T' pero los otros sí? – jrdioko

+1

correcta, nada sobre el estado en 'rake -T' –

15

rake db:version hará esto en los carriles 2.

+0

También válido en rieles 3.2.18 –

9

Este comando mostrará una lista de todas las migraciones con su estado (o UPDOWN)

carriles 3 y 4

rake db:migrate:status 

rieles 5

rake db:migrate:status 

# Or 

rails db:migrate:status 
0

siguiente comando para comprobar el estado de la migración:

rake db:migrate:status 

O

cuando se ejecuta el servidor, se mostrará un mensaje a ejecutar la migración a la espera de la primera.

Cuestiones relacionadas