なるようになるブログ

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

rails commit log流し読み(2024/09/07)

2024/09/07分のコミットです。

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

actionpack/CHANGELOG.md

activerecord/CHANGELOG.md


Use implication for skip_active_record/skip_solid (#52802)

railties/lib/rails/generators/app_base.rbの修正です。

rails new--skip_active_recordオプションを指定した場合に、自動的にskip_solidも設定するよう修正しています。Solid QueueもSolid CacheもActive Recordに依存している為。


Replace deprecated PWA tag with newer one (#52738)

railties/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.ttの修正です。

PWA用のタグとして、mobile-web-app-capableを追加しています。元々はapple-mobile-web-app-capableだけが追加されていたのですが、apple-mobile-web-app-capableはdeprecatedになっており、mobile-web-app-capableが推奨されているため。が、この推奨をしているのはChromeのみで、どうやらSafariではまだapple-mobile-web-app-capableを指定する必要がありそうな為、apple-mobile-web-app-capableはそのままにして、mobile-web-app-capableを追加するだけにしています。


system testing: disable chrome's search engine choice modal

actionpack/lib/action_dispatch/system_testing/browser.rbの修正です。

system testでChromeを起動する際に、デフォルトでsearch engine choice modalを無効化するよう修正しています。検索エンジンの選択画面が出る事でテストが期待通りに動かない事がある為。


Drop MySQL 5.5 support

Active Recordの修正です。

MySQL 5.5のサポートを削除しています。MySQLのサポートの最小バージョンはMySQL 5.6.4になっています。MySQL 5.5は既にEOLになっている、かつ、datetimeでprecisionをサポートしていないバージョンの為、このサポートを削除出来るとコードのクリーンアップが出来る為、との事です。


Merge pull request #52797 from fatkodima/fix-nested-attributes-for-cpk

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

composite primary keysを使用しているmodelでnested attributesのupdate処理が正しく動作しないバグがあったのを修正しています。


Merge pull request #52792 from jimnanney/order-dependent-nested-attributes

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

nested associationの更新処理で、primary key用のattributeをattributesの最初に指定してないと、エラー(RecordNotFound)になってしまうバグがあったのを修正しています。


Merge pull request #50198 from fatkodima/fix-duplicate-deferrable-directive

activerecord/lib/active_record/connection_adapters/postgresql/schema_creation.rbactiverecord/lib/active_record/connection_adapters/sqlite3/schema_creation.rbの修正です。

PostgreSQL及びSQLite adapterで、foreign keysに対するDEFERRABLE directiveが誤って2回指定されていたのを、1回だけ指定するよう修正しています。


Fix rate limiting for ActionController::API controllers

actionpack/lib/action_controller/api.rbの修正です。

ActionController::APIを継承しているcontrollerでrate_limit APIを使用するとエラーになってしまうバグがあったのを修正しています。


Deprecate unsigned_float and unsigned_decimal short-hand column methods

activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rbの修正です。

MySQL adapterのschema用のunsigned_float及びunsigned_decimalメソッドをdeprecatedにしています。MySQL 8.0.17からFLOAT、 DOUBLE、及び、DECIMALのcolumnに対してUNSIGNEDを指定するのがdeprecatedになっている為。

参考:MySQL :: MySQL 8.0 Reference Manual :: 13.1.1 Numeric Data Type Syntax


Tweak specific db schema

Active Recordのテストの修正です。

db schema内でconnetionのメソッドを使用する際に、不要なActiveRecord::Base.lease_connectionの指定を削除しています。


Sync mysql2 and trilogy specific schema

activerecord/test/cases/defaults_test.rbactiverecord/test/schema/trilogy_specific_schema.rbの修正です。

mysql2 adapterとtrilogy adaterでテストで使用するschemaに差異が出来てしまっていたのを、同じ内容になるよう修正しています。