J'utilise l'addon Heroku Postgres pour ma base de données (version de base). Ruby Sequel est mon ORM pour la gestion de schéma.Les migrations Ruby Sequel en cours d'exécution, mais ne parviennent pas à ajouter des colonnes
Récemment, certaines migrations n'ont pas mis à jour le schéma de base de données.
Je cours la 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
Cela met à jour la base de données [: schema_info] de la version 18 à 19, mais aucune colonne sont ajoutés à la: table state_table. Ce problème existe à la fois pour la production et les bases de données locales. J'ai essayé de migrer plusieurs fois et vérifié que l'URL db était correcte.
Mon solution rapide: Je copie et collé le code ci-dessus dans une migration , 020_test.rb et couru ma tâche de migration de coupe rake db:migrate:up
. Cela a mis à jour avec succès la base de données.
Est-ce que quelqu'un sait ce qui pourrait se passer ici? Pourquoi certaines migrations s'exécutent-elles correctement, mettez-vous à jour la version de migration sans mettre à jour les colonnes? Serait-ce un problème de nom, un problème de mise en cache ou un problème Heroku? Merci pour ton aide!