在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
表并使用新列重新创建它。由于Study
和Report
模型之间的关联,依赖studies
被销毁。
如果这是真的 - 有没有办法阻止Rails这样做?或者,有人可以解释为什么会这样吗?
答案 0 :(得分:0)
你的模特和迁移看起来很好,所以我最好的猜测是你没有使用正确的命令......你只是使用一个普通的rake db:migrate
或者更喜欢的东西吗?