2024 年 8 月 25 日,星期日

ActionText store_if_blank,SQLite 非 GVL 阻塞繁忙处理程序,以及更多!

作者:zzak

大家好,我是 zzak。让我们一起探索本周 Rails 代码库的更新。

如果您错过了,Rails 7.2.17.1.4 本周发布了!

允许使用替代数据库接口
在此 PR 之前,rails dbconsole 被硬编码为使用给定数据库的默认接口。现在可以通过 config.active_record.database_cli 选项配置此命令。

在 "serialize" 之前使用 "encrypts" 进行加密转换
此 PR 确保在 PostgreSQL 中正确处理加密的二进制数据。

为 "has_rich_text" 添加 "store_if_blank" 选项
ActionText 添加了一个新选项,允许配置是否存储空富文本字段。此 PR 在 has_rich_text 上引入了 store_if_blank 选项。它默认为 true(当前行为);如果您传递 false,ActionText 不会在保存带有空白值时创建 ActionText::RichText 记录。

SQLite 非 GVL 阻塞,公平重试间隔繁忙处理程序
此 PR 通过避免 Ruby 的全局变量锁 (GVL) 来改进 SQLite 连接处理超时问题,可以减少 SQLite3::BusyException 错误和延迟。

支持转储 PostgreSQL 继承和分区选项
通过此更改,我们可以支持 PostgreSQL 原生分区 和继承选项在 create_table 中。

推断委托类型的默认 ":inverse_of" 选项
使用 委托类型 时,我们现在可以推断关联的 :inverse_of 选项。

您可以查看完整变更列表 此处 上周有 36 位贡献者 为 Rails 代码库贡献力量!

下次再见!

订阅 以接收这些更新邮件。