なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2025/02/24)

2025/02/24分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activerecord/CHANGELOG.md


[Guides] removed routing_filter gem reference as it is outdated [ci-skip]

rails guideのRails Internationalization (I18n) APIの修正です。

Setting the Locale from URL Paramsセクション内のsvenfuchs/routing-filter gemについて説明している箇所を、enriclluelles/route_translatorを説明するよう修正しています。routing-filter gemは現在メンテされてない為。


Merge pull request #54585 from byroot/deserialize-column-defaults

activerecord/lib/active_record/attributes.rbの修正です。

columnのdefaultからattributeを初期化した場合、型が整数値でも文字列で返されていたのを、整数値を返すよう修正しています。DBから値を取得した際は整数値を返すようになっており、挙動をあわせる為。


Ensure #reverse_order respects implicit_order_column

activerecord/lib/active_record/relation/finder_methods.rbactiverecord/lib/active_record/relation/query_methods.rbの修正です。

ActiveRecord::Relation#reverse_orderimplicit_order_columnの指定を無視するバグがあったのを修正しています。


Support disabling indexes for MySQL and MariaDB

Active Recordの修正です。

MySQL v8.0.0、及び、MariaDB v10.6.0からindexを無効化(削除はせずにoptimizerから使えなくする)出来るようになったのですが、これをmigrationで行えるよう修正しています。無効にしたい場合、add_indexenabledオプションにfalseを指定するかdisable_indexメソッドを使用すれば良く、逆に有効にしたい場合は、add_indexenabledオプションにtrueを指定するかenable_indexメソッドを使用すれば良いようになっています。

add_index :users, :email, enabled: false
enable_index :users, :email
add_column :users, :dob, :string, index: { enabled: false }

change_table :users do |t|
  t.index :name, enabled: false
  t.disable_index :dob
  t.column :username, :string, index: { enabled: false }
  t.references :account, index: { enabled: false }
end

参考: