【发布时间】:2017-03-23 12:19:08
【问题描述】:
在开发环境中一切正常,但在生产环境中(部署到 Heroku 时)它会抛出 MissingAttributeError。
class Order < ApplicationRecord
has_many :cart_items, dependent: :destroy
end
class CartItem < ApplicationRecord
belongs_to :order, optional: true, foreign_key: "order_id"
end
create_table "cart_items", force: :cascade do |t|
t.integer "item_id"
t.integer "cart_id"
t.integer "user_id"
t.integer "order_id"
end
【问题讨论】:
-
您是否在 Heroku 上运行过迁移?看来这可能是罪魁祸首。
-
@NickM,我做到了。还重新创建了 heroku 上的数据库 - 也没有用。
-
您是否将
git add .和git commit -m "added mig"迁移到了heroku,然后运行heroku run rake db:migrate? -
您可以使用
heroku run rails dbconsole,然后使用SQL确认该列是否存在 -
@diego.greyrobot,是的
标签: ruby-on-rails ruby postgresql heroku ruby-on-rails-5