sql >> Database >  >> RDS >> PostgreSQL

ruby-migratie teruggedraaid, maar krijg een foutmelding wanneer de migratie opnieuw wordt uitgevoerd

In je up methode waarmee u een kolom maakt op questionaries tabel, en in uw down-methode verwijdert u deze uit pnp_questionaries . Kolom verwijderen levert geen uitzondering op als de tabel niet bestaat, dus je hebt je probleem.

Eenvoudigste oplossing:

  1. Reageer op add_column van boven.
  2. Voer migraties uit (ja, voer lege migratie uit).
  3. Repareer je down methode om questionaries te verwijderen tafel.
  4. Migratie terugdraaien.
  5. Maak een opmerking over je up methode.

BIJWERKEN:

Mijn slechte punt 3 was 'kolom verwijderen uit vragenlijsten', niet 'tabel verwijderen'.

U moet de migratie waarmee de tabel is gemaakt opnieuw uitvoeren (hopelijk heeft u deze in de tussentijd niet gewijzigd). Ga naar de gegeven migratie, reageer down method body, en voer rake db:migrate:redo VERSION=xxxxxxx uit waar xxxxxx is de tijdstempel in deze bestandsnaam van de migratie.




  1. Markeer personen die gemeenschappelijke functies delen met Oracle SQL

  2. MariaDB en externe gegevens

  3. De tijdstempel van een bestand verkrijgen met PL/SQL

  4. Hoe te repareren "EXECUTE-instructie is mislukt omdat de WITH RESULT SETS-clausule 1 resultaatset (s) heeft gespecificeerd ..." in SQL Server