Rails 6.1 稳定版已发布,其开发团队表示,过去的几个月里他们实现了对多数据库支持的改进、支持在后台销毁关联异步(Associations Async)进程以及将错误转化为对象等。
按数据库连接进行切换
Rails 6.1 提供了按数据库切换连接的功能。在 6.0 中,如果切换到读取角色,那么所有的数据库连接也会切换到读取角色。但在 6.1 中,如果在配置中将legacy_connection_handling
设置为false
,Rails 支持通过调用相应抽象类上的connected_to
来切换单个数据库的连接。
水平分区
Rails 6.0 提供了对数据库进行功能分区(多个分区、不同 schema 模式)的能力,但无法支持水平分区(同一 schema 模式、多个分区)。Rails 不支持水平分区是因为 Active Record 中的模型每个角色每个类只能有一个连接。现在这个问题已经解决,Rails 的水平分区功能已可以使用。
Destroy Associations Async
此变化为应用程序增加了在后台作业销毁关联异步进程的功能,对于在销毁数据时避免应用程序的超时和其他性能问题有一定帮助。
Error Objects
Active Model 的错误现在是带有接口的对象,它允许应用程序更容易地处理和交互由 Model 抛出的错误。此功能包括一个查询接口,可以进行更精确的测试,并访问错误细节。
注意:本文归作者所有,未经作者允许,不得转载