Rails迁移已从关联表中删除条目

时间:2015-06-09 12:44:27

标签: mysql ruby-on-rails-2 rails-migrations

在rails(2.3.5)中我有2个相关模型:

class Report < ActiveRecord::Base
  has_many :studys, :dependent => :destroy
end

class Study < ActiveRecord::Base
  validates_presence_of :name, :report_id
  belongs_to :report
end

我正在报告表上运行迁移:

class AddReportUsername< ActiveRecord::Migration

def self.up
  add_column :reports, :username, :text, :limit => 20
end

此迁移会删除studies表中的所有条目。

我的假设是ALTER TABLE调用的add_column命令会删除reports表并使用新列重新创建它。由于StudyReport模型之间的关联,依赖studies被销毁。

如果这是真的 - 有没有办法阻止Rails这样做?或者,有人可以解释为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

你的模特和迁移看起来很好,所以我最好的猜测是你没有使用正确的命令......你只是使用一个普通的rake db:migrate或者更喜欢的东西吗?

相关问题