将以 API 为中心的应用程序的 rails 版本从 5.2
升级到 6.0
时要处理的主要事情包括配置调整和修复弃用警告。
将应用程序 rails 版本从 5.1
升级到 5.2
比从 4.2 升级到 5.0 或 从 5.0 升级到 5.1 要容易得多,需要处理的变化很少,并且很可能不会出现测试失败。
使用名为 activerecord-import 的 gem,将大量记录导入 mysql 表变得更容易,这篇文章演示了如何实现它。
将应用程序 rails 版本从 5.0
升级到 5.1
比 从 4.2 升级到 5.0 更容易,因为这只是一次小版本更新。但是,可能仍有很多问题需要解决,无论是由于框架更改还是由于过时的 gems 依赖关系。
Rails 框架会自动加载常量,因此在“开发”或“测试”等环境中,应用程序无需在处理请求之前将所有内容加载到内存中。但是,众所周知,自动加载在 Rails 中是线程不安全的(至少对于低于 6 的版本而言),如果您碰巧使用 puma
或 webrick
等线程服务器,则很容易遇到由多线程引起的意外问题。
将 rails 升级到新的主要版本可能比较棘手,因为框架本身或项目中使用的许多 gem 可能会发生许多重大变化,这些变化要么被弃用,要么不再受支持。但是,如果按照正确的程序进行,它也可以顺利进行。这篇文章根据我最近将 API 服务器的 rails 从 4.2.11
升级到 5.0.7.2
的实际经验分享了升级过程。请注意,根据项目配置或依赖项,不同项目的升级步骤可能略有不同。