J'ai une ancienne migration qui ajoute une colonne dans une table, puis ajoute immédiatement des données dans cette colonne.Ajouter une colonne dans la migration des rails mais la colonne n'existe pas immédiatement
def change
add_column :table_name, :column_name, :string
TableName.create(
column_name: "some string"
)
end
Maintenant, chaque fois que je dois relancer rake db:migrate
après avoir abandonné la base de données, je reçois cette erreur
NoMethodError: undefined method `column_name=' for #< TableName:0x007fa483a18838>
Cette migration a travaillé quand il a été initialement créé, pourquoi ça ne marche pas si j'exécutez à nouveau cette migration? Je comprends que ce n'est pas une bonne pratique, mais mes recherches indiquent que cela devrait encore fonctionner.
Avez-vous essayé https://stackoverflow.com/questions/9115347/model-reset-column-information-does-not-reload-columns-in-rails-migration? – fanta
parfait, cela a fonctionné. merci @fanta – davidhu2000