【发布时间】:2014-06-06 02:56:22
【问题描述】:
我是第一次部署我的 rails 应用程序,我收到以下错误:
迁移到 Changetimezone (20140605033929) == 20140605033929 更改时区:迁移 ==================================== -- change_column(:opportunities, :updated_at, :date) PG::UndefinedTable: ERROR: 关系“机会”不存在: ALTER TABLE "opportunities" ALTER COLUMN "updated_at" TYPE date rake 中止! StandardError: 发生错误,这个和以后的一切 迁移已取消:
PG::UndefinedTable: 错误:关系“机会”不存在
这是我的机会模型:
class Opportunity < ActiveRecord::Base
before_save :check_for_nil,:calculate_derated_value
has_many :updates, dependent: :destroy
has_many :activities, dependent: :destroy
has_many :contacts, dependent: :destroy
has_many :links, dependent: :destroy
显然,它有关联。我不确定为什么抱怨是它没有关联......属于它的所有模型都有一个 :belongs_to 机会声明
我完全不知道会发生什么。我已经尝试搜索,但找不到任何解决此问题的解决方案.. 有人有什么想法吗??
【问题讨论】:
-
你运行 $ heroku run rake db:setup 了吗?那个总是让我着迷。
-
完美!!! @steel 你能向我解释为什么这样做和/或必须完成吗??
-
Heroku 会加载您的迁移,但在您告诉它之前不会运行它们。但是,您的应用程序已变得依赖于这些表的存在。所以你运行上面的代码(rake db:migrate 后跟 rake db:seed 的组合)然后 Heroku 就有了它需要的表。
标签: ruby-on-rails heroku deployment undefined