【发布时间】:2018-12-14 15:33:08
【问题描述】:
这是我在 Stackoverflow 上的第一篇文章,如果我能比我更好地说明我的问题,请告诉我:我已经搜索了该网站,但没有找到任何可以解决我的问题的内容。
我有一个使用 Event 模型在本地运行的应用。
该模型有一个 start_date 列,我后来添加了一个带有迁移的 end_date。
一切都在本地工作。
当我将它部署到 Heroku 时,我在尝试创建 Event 条目时收到 500-错误。
它首先给了我一个 ActiveRecord::MultiparameterAssignmentErrors,说它不能为 end_date= 分配任何东西。
我查看了所有内容并确保它是允许的参数。
然后我查看了我的迁移并惊讶地发现我的 AddEndDateToEvents 迁移不存在,但 end_date 列在我的模式模型中。
所以我运行了 rails g migration AddEndDateToEvents,我在其中写道:
class AddEndDateToEvents < ActiveRecord::Migration[5.2]
def change
remove_column :events, :end_date
add_column :events, :end_date, :date
end
end
我运行了 rails db:migrate,一切都在本地运行。
现在,当我将它推送到 Heroke 并在那里运行 db:migrate 时,它当然会终止并告诉我它无法删除列 end_date 因为它模型中不存在。
我被困住了。我该怎么办? :(
我的源代码参考
提前谢谢你!
奥利弗
【问题讨论】:
-
您本地数据库中的
end_date列是从哪里来的?据推测,来自较早的迁移?如果是这样,为什么 Heroku 上不存在这种迁移?
标签: ruby-on-rails heroku