Ich verwende das Heroku Postgres Addon für meine DB (Basisversion). Ruby Sequel ist mein ORM für das Schema-Management.Ruby Sequel-Migrationen laufen, können aber keine Spalten hinzufügen
In letzter Zeit haben einige Migrationen das DB-Schema nicht aktualisiert.
Ich betreibe Migration 19, 019_add_last_unique_story_to_user.rb:
Sequel.migration do
up do
alter_table(:state_tables) do
add_column :last_unique_story, Integer, default: 0
add_column :last_unique_story_read?, TrueClass, default: true
end
end
down do
alter_table(:state_tables) do
drop_column :last_unique_story
drop_column :last_unique_story_read?
end
end
end
Dies aktualisiert die DB [: schema_info] ab Version 18 bis 19, aber keine Spalten hinzugefügt, um die: state_table Tabelle. Dieses Problem besteht sowohl für Produktions- als auch für lokale Datenbanken. Ich habe versucht, mehrfach zu migrieren und überprüft, dass die Db-URL korrekt war.
Meine schnelle Lösung: Ich kopiere und klebte den obigen Code in einem 20. Migration, 020_test.rb und lief Aufgabe meine Harke Migration rake db:migrate:up
. Dies hat die Datenbank erfolgreich aktualisiert.
Weiß jemand, was hier vor sich gehen könnte? Warum werden einige Migrationen erfolgreich ausgeführt, die Migrationsversion wird aktualisiert, aber keine Spalten aktualisiert? Könnte dies ein Benennungsproblem, ein Caching-Problem oder ein Heroku-Problem sein? Danke für deine Hilfe!