Jam*_*sen 59 ruby migration activerecord ruby-on-rails
我正在创建一系列迁移,其中一些是标准的"创建表"或"修改表"迁移,其中一些迁移修改数据.我正在使用我的实际ActiveRecord模型来修改数据,a:
Blog.all.each do |blog|
update_some_blog_attributes_to_match_new_schema
end
Run Code Online (Sandbox Code Playgroud)
问题是,如果我加载Blog类,然后修改表,然后再次使用Blog类,模型具有旧的表定义,并且无法保存到新表.有没有办法重新加载类及其属性定义,以便我可以重用它们?
Jam*_*sen 132
答案是肯定的!
Blog.reset_column_information
Run Code Online (Sandbox Code Playgroud)
小智 5
我一直在迁移中使用新模型
MyBlog < ActiveRecord::Base
set_table_name 'blogs'
end
def self.up
MyBlog.all.each do |blog|
update_some_blog_attributes_to_match_new_schema
end
end
Run Code Online (Sandbox Code Playgroud)
但是Blog.reset_column_information比较方便。
| 归档时间: |
|
| 查看次数: |
17200 次 |
| 最近记录: |