mysql - Rails 4 migration not adding fields to an existing database -


i have order database trying add 2 new fields it

1) seller_id 2) buyer_id

when run command

rails generate migration addfieldstoorders buyer_id:integer seller_id:integer

it shows

 invoke  active_record       create    db/migrate/20140414094632_add_fieldsto_orders.rb  

after running rake dd:migrate , rails s shows

== 20140414094632 addfieldstoorders: migrating ================================ == 20140414094632 addfieldstoorders: migrated (0.0000s) =======================

it should give me seller_id table , buyer_id table. have double checked orders database model via sqlite database model viewer , both fields have not appeared

both fields have been added user.rb , order.rb models

user.rb

class user < activerecord::base   # include default devise modules. others available are:   # :confirmable, :lockable, :timeoutable , :omniauthable   devise :database_authenticatable, :registerable,          :recoverable, :rememberable, :trackable, :validatable     validates :name, presence: true     has_many :listings, dependent: :destroy    has_many :sales, class_name: "order", foreign_key: "seller_id"    has_many :purchases, class_name: "order", foreign_key: "buyer_id" end 

order.rb

class order < activerecord::base     validates :address, :city, :state, presence: true      belongs_to :listing     belongs_to :buyer, class_name: "user"     belongs_to :seller, class_name: "user" end 

i have added listings id order database using rails generate migration addlistingidtoorders listing_id:integer unable add seller_id , buyer_id fields

migration file

class addfieldstoorders < activerecord::migration   def change   end end 

without seeing actual migration file: db/migrate/20140414094632_add_fieldsto_orders.rb, problem because of lowercase t on toorders.

the command should have run is:

rails generate migration addfieldstoorders buyer_id:integer seller_id:integer 

which hvae generated migration file db/migrate/20140414094632_add_fields_to_orders.rb (note underscore)

you should following fix this:

rake db:rollback rails generate migration addfieldstoorders buyer_id:integer seller_id:integer rake db:migrate 

and delete original db/migrate/20140414094632_add_fieldsto_orders.rb . rollback takes entry out schema_migrations table in database make cleaner.


Comments

Popular posts from this blog

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

javascript - How to name a jQuery function to make a browser's back button work? -