我正在创建一系列迁移,其中一些是标准的"创建表"或"修改表"迁移,还有一些是修改数据的migrations.我正在使用实际的ActiveRecord模型来修改数据,a:

Blog.all.each do |blog|
  update_some_blog_attributes_to_match_new_schema
end

问题是,如果我加载Blog类,然后修改表,然后再次使用Blog类,那么模型具有旧的表定义,并且无法保存到新表.有没有办法重新加载类及其属性定义,以便重用它们?

推荐答案

答案是肯定的!

Blog.reset_column_information

Ruby-on-rails相关问答推荐

Sweet Alert 2 在 Rails 7 应用程序中无法正常工作

在 Rails 6.1 升级后,作业(job)规范使用 Minitest::UnexpectedError 包装错误

Heroku 应用程序上的远程 mysql 数据库

File.open,写入和保存?

Rails 上的 build 和 new 有什么区别?

理解 Gemfile.lock:删除 Gemfile.lock 然后再次运行 bundle install 可以吗?

如何在我的 rails 应用程序中测试 ActiveRecord::RecordNotFound?

Postgres on Rails 致命:数据库不存在

将 defer 属性添加到 javascript_include_tag Rails

是否可以在 Rails 中否定范围?

Heroku 错误 R14(超出内存配额):我该如何解决?

关于在不适合任何地方的 Rails 应用程序中放置类的指南

在 ruby​​ 中构建公钥时,是什么导致既不是 PUB key 也不是 PRIV key::nested asn1 错误?

Rails 5:重命名表迁移

如何在 Rails 中设置路由的默认格式?

为什么 Google Oauth 在我的 Rails 应用程序中返回无效的 redirect_urI?

如何在 Rails 4 中测试控制器关注点

警告:运行 ruby​​ 或 gem 命令时不安全的世界可写目录

如何获取 Rails 3.1 中assets资源 的绝对 URL?

为什么 Mac OS X 带有 ruby​​/rails?