J'ai une migration très simple qui ajoute une seule colonne booléenne:Pourquoi cette simple migration de Rails ne met-elle pas à jour ma base de données?
class AddMuteToPreferences < ActiveRecord::Migration
def self.up
add_column :preferences, :mute_audio, :boolean, :default => false
end
def self.down
remove_column :preferences, :mute_audio
end
end
Je lance la migration:
== 81 AddMuteToPreferences: migrating =========================================
-- add_column(:preferences, :mute_audio, :boolean, {:default=>false})
-> 1.9043s
== 81 AddMuteToPreferences: migrated (1.9047s) ================================
Attend Peachy, non? Mais, pour une raison quelconque, il n'y a toujours pas de colonne mute_audio dans ma table des préférences.
Je n'arrive pas à comprendre. J'ai déjà exécuté add_column sans problème.
Quelqu'un a déjà vu ce comportement auparavant?
Visionnez-vous la base de données du même environnement dans lequel vous avez effectué la migration? – Eimantas
Eh bien, je ne fais que rake db: migrate (no env spécifié). Et je suis en train de faire un script/une console ruby pour examiner le modèle après la migration. Dans les deux cas, il devrait être développé par défaut, n'est-ce pas? – Altay
En effet, mais le double contrôle ne fait pas de mal. Aussi, vous pouvez vouloir essayer la migration vers le bas. Si ça passe - la colonne a été ajoutée en effet. Tailing log/development.log devrait aussi aider! – Eimantas