2011-10-21 12 views
7

Non sono sicuro se si tratta di un bug o se in realtà questo ha rimosso un file migration.rb. Ho usato generare per creare la seguente migrazione:File migration.rb eliminato? Potenziale bug nelle rotaie?

$ rails generate migration add_delta_to_submissions

invoke active_record 
    create db/migrate/20111020175649_add_delta_to_submissions.rb 

poi ho capito che ho trascurato di includere tutte le colonne, quindi ho usato la freccia nella console e sovrascritto generare con distruggere:

$ rails destroy migration add_delta_to_submissions

invoke active_record 
    remove db/migrate/20111020175649_add_delta_to_submissions.rb 

Tutto bene finora, ora il suo tempo per eseguire la migrazione con la colonna ho bisogno. Qui è dove il problema entra in gioco - Ho usato la freccia di nuovo - ma solo una volta - e aggiunto il mio informazioni colonna:

$ rails destroy migration add_delta_to_submissions delta:integer

invoke active_record 
    remove migration.rb 

Mi rendo conto che dovrei probabilmente non sarà usando la FRECCIA per i comandi come volatile come GENERATE e DESTROY (lezione appresa!), ma questo comando è tornato affermando RIMOSSO il file migration.rb. Non sapevo nemmeno che esistesse un file migration.rb, specialmente non uno che poteva essere rimosso così facilmente.

Per i calci, ho deciso di provare a ingannare la console di comando con l'aggiunta della lettera x alla fine della migrazione di parola - e ha ricevuto questo messaggio:

$ rails destroy migrationx add_delta_to_submissions delta:integer

Could not find generator migrationx. 

Quindi, io non ci credo potrebbe essere un bug con il comando destroy rails. Una volta capito che non c'era più un file add_delta_to_submissions.rb, lo ha appena interrotto e virato su .rb alla parola migration (o qualsiasi parola dopo DESTROY). Sembra un po 'pericoloso ...

Indipendentemente da ciò, sono curioso di sapere se ho in qualche modo compromesso il mio ambiente RAILS (rails 3.1, ruby ​​1.8.7) ora che il file migration.rb è stato rimosso. Se è così - quali sono le mie opzioni per risolvere quella situazione?

Molte grazie in anticipo ...

+0

La stessa cosa mi è successa. Hai scoperto cosa è successo? – marimaf

+1

La stessa cosa è successo a me quando ho eseguito il comando destroy ma ho allegato .rb alla fine del nome della migrazione (perché sono senile). Penso che sia innocuo, ma è comunque un bug di qualche tipo nel generatore. –

risposta

1

Avete git sul vostro sistema? La stessa cosa è successo oggi e ho eseguito:

git diff | grep migration 

Nulla è uscito sul mio sistema. Ho cercato il file e ancora non ho trovato alcun file migration.rb su nessuno dei miei progetti Rails 3.1. Probabilmente puoi ignorarlo senza alcun danno?

+0

Intendo altri progetti e file di Rails. Scusate. –

+0

È possibile modificare il commento nella risposta. – meagar

2

Succede anche quando si digita un non esistente nome migrazione come parametro di distruggere comando

$rails migration destroy non-existing-migration-name 

invoke active_record 
remove migration.rb 

Ma penso che sia innocuo.

+0

Succede anche a me. –

0

La stessa cosa è successa a me.

Sembra che ci sia un file migration.rb all'interno di ActiveRecord e sebbene sia possibile extend ActiveRecord::Base, non sono sicuro che sia possibile accedere a tali file da qualche parte all'interno della directory del progetto delle guide.

Sembra che ci sia un precedente per deleting the migration file manually anziché tramite un comando di distruzione automatica dei binari.

Problemi correlati