J'ai ajouté une colonne à ma table via une migration, mais je ne suis pas en mesure d'accéder à la colonne ajoutée dans le fichier de migration suivant.Colonne ajoutée Non accessible dans le fichier de migration suivant
Lorsque j'exécute rake db:migrate
, la migration s'interrompt, mais lorsque je l'exécute à nouveau, la migration réussit, je ne sais pas exactement ce que je fais de mal. Toute aide serait appréciée. Merci.
ci-dessous est le code où j'ajoute la colonne
**
class AddIsDispatchToUsers < ActiveRecord::Migration
def change
add_column :users, :is_dispatch, :boolean, :default=>false
end
end
**
Maintenant, quand je tente d'accéder à la colonne suivante de la migration échoue.
Le fichier de migration ultérieure a le code ci-dessous
service_member = Member.create (: is_dispatch => true)
Et voici l'erreur qu'il produit
unknown attribute: is_dispatch/Users//.rvm/gems/ruby-1.9.3-p484/gems/activerecord-3.1.12/lib/active_record/base.rb:1764:in `block in assign_attributes'
/Users//.rvm/gems/ruby-1.9.3-p484/gems/activerecord-3.1.12/lib/active_record/base.rb:1758:in `each'
/Users//.rvm/gems/ruby-1.9.3-p484/gems/activerecord-3.1.12/lib/active_record/base.rb:1758:in `assign_attributes'
/Users//.rvm/gems/ruby-1.9.3-p484/gems/activerecord-3.1.12/lib/active_record/base.rb:1578:in `initialize'
/Users//.rvm/gems/ruby-1.9.3-p484/gems/activerecord-3.1.12/lib/active_record/base.rb:508:in `new'
/Users//.rvm/gems/ruby-1.9.3-p484/gems/activerecord-3.1.12/lib/active_record/base.rb:508:in `create'
/Users//Desktop/RailsDevelopement//db/migrate/20161003121452_add_dispatch_services.rb:11:in `up'
Vérifiez l'ordre des migrations. La migration à laquelle la colonne doit accéder doit être appelée avant – Abhi
La séquence est correcte –
Quand vous dites qu'il abandonne initialement - sur quelle migration est-il en train d'avorter - est-ce celui qui ajoute la colonne ou celui qui essaie d'accéder à la colonne? Cela peut valoir la peine de mettre à jour votre question avec cette information et le code de la migration qui échoue. – David