如何在 Rails 迁移中更新现有参考的选项
How to update options on an existing reference in Rails migration
如何编写迁移文件以向现有模型关系添加选项?必须保留现有 table 数据。
例如,我有现有的:
class Chapter < ApplicationRecord
belongs_to :org
end
我想更新到:
class Chapter < ApplicationRecord
belongs_to :org, touch: true
end
如何为此编写迁移文件? (或任何其他参考选项更改?)
add_reference 会更新现有的列吗?还是添加一个新的?
class AddChapterToOrg < ActiveRecord::Migration
def change
add_reference :org, :chapter, touch: true
end
end
touch: true
是 belongs_to
方法的一个选项,它告诉 Rails 在更新当前对象的时间戳时更新关联对象的时间戳。此触摸由 Rails 而不是数据库引擎处理。
也就是说,当您将 touch: true
添加到 belongs_to
关联时,就不需要 运行 数据库迁移,因为数据库架构不需要更改以支持这个。
如何编写迁移文件以向现有模型关系添加选项?必须保留现有 table 数据。
例如,我有现有的:
class Chapter < ApplicationRecord
belongs_to :org
end
我想更新到:
class Chapter < ApplicationRecord
belongs_to :org, touch: true
end
如何为此编写迁移文件? (或任何其他参考选项更改?)
add_reference 会更新现有的列吗?还是添加一个新的?
class AddChapterToOrg < ActiveRecord::Migration
def change
add_reference :org, :chapter, touch: true
end
end
touch: true
是 belongs_to
方法的一个选项,它告诉 Rails 在更新当前对象的时间戳时更新关联对象的时间戳。此触摸由 Rails 而不是数据库引擎处理。
也就是说,当您将 touch: true
添加到 belongs_to
关联时,就不需要 运行 数据库迁移,因为数据库架构不需要更改以支持这个。