PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

la migrazione di ruby ​​è stata ripristinata ma viene visualizzato un errore quando si esegue nuovamente la migrazione

Nel tuo up metodo che stai creando colonna su questionaries table e nel tuo metodo down lo stai rimuovendo da pnp_questionaries . Rimuovi colonna non genera un'eccezione se la tabella non esiste, quindi hai il tuo problema.

La soluzione più semplice:

  1. Commenta add_column dall'alto.
  2. Esegui migrazioni (sì, esegui migrazione vuota).
  3. Correggi il tuo down metodo per rimuovere questionaries tabella.
  4. Migrazione di rollback.
  5. Decommenta il tuo up metodo.

AGGIORNAMENTO:

Il mio punto negativo 3 doveva essere "rimuovi colonna dai questionari", non "rimuovi tabella".

È necessario eseguire nuovamente la migrazione che ha creato la tabella (si spera che non l'abbia modificata nel frattempo). Vai alla migrazione indicata, commenta down corpo del metodo ed esegui rake db:migrate:redo VERSION=xxxxxxx dove xxxxxx è il timestamp in questo nome file di migrazione.