您好,我是 Greg。让我们一起看看本周 Rails 代码库的更改。
消除加载Postgres上转储的模型模式的查询
此拉取请求通过避免在引导时加载类型映射以及定义属性方法来提高弹性,此时已为PostgreSQL数据库配置了模式缓存文件。
允许将日期或时间传递给ActiveSupport::Testing::TimeHelpers#freeze_time
此更改允许#freeze_time测试助手接受日期或时间参数。
Time.current # => Sun, 09 Jul 2024 15:34:49 EST -05:00
freeze_time Time.current + 1.day
sleep 1
Time.current # => Mon, 10 Jul 2024 15:34:49 EST -05:00
使index_exists?的列名成为可选
此拉取请求使index_exists?的列名成为可选。它与remove_index签名非常吻合,因为索引名称不需要从列名派生。
添加一个用于在VSCode外部使用开发容器的脚本
如果您想使用devcontainer信息,但又不想使用VSCode,此拉取请求添加的小脚本将非常有用。它读取devcontainer JSON文件,并根据JSON文件中的信息运行docker命令。
将application-name元数据添加到应用程序布局
为了更好地支持渐进式Web应用(PWA),此拉取请求将application-name元标记添加到应用程序布局中。
JSON序列化属性可以返回符号键
通过此更改,现在可以在实例化编码器时将选项传递给ActiveRecord::Coder::JSON。这允许为实例传递symbolize_names选项
serialize :config, coder: ActiveRecord::Coder::JSON.new(symbolize_names: true)
弃用带有未持久化关联的insert_all
此拉取请求弃用在关联中使用带有未持久化记录的insert_all/upsert_all。现在,在包含未持久化记录的关联上使用这些方法将显示弃用警告,因为操作后未持久化记录将丢失。在Rails 8.2中,这将成为一个错误。
您可以在此处查看所有更改。在上周,我们有34位贡献者为Rails代码库做出了贡献!
下次再见!
订阅以通过邮件获取这些更新。