なるようになるブログ

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

rails commit log流し読み(2023/06/15)

2023/06/15分のコミットです。

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

railties/CHANGELOG.md

activerecord/CHANGELOG.md


Fix flaky primary key test

activerecord/test/cases/primary_keys_test.rbの修正です。

primary key関連のテストが不安定になっていたのを修正しています。


Fix destroy_all for has_many :through associations that points to a CPK model

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

composite primary keyを使用しているmodelに対してhas_many through associationを指定している場合に、そのassociationに対するdestroy_allが動作するよう修正しています。


Merge pull request #48470 from p8/railties/use-secret-key-base-accessor

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

secret_key_baseRails.config内で保持するよう修正しています。元々はRails.application.secretsで保持していた(Rails.application.secrets.secret_key_base)のですが、credentialsが出来た事によりRails.application.secretsはゆるくdeprecatedになっていた為、それに合わせてsecret_key_baseRails.application.secrets以外で保持するよう修正されました。


Deprecate calling Rails.application.secrets.

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

Rails.application.secretsをdeprecatedにしています。今後は、Rails.application.credentialsを使用する必要があります。


Adding PG enum rename, add value, and rename value migration helpers

Active Recordの修正です。

PostgreSQLenumをリネーム、値の追加、及び、値のリネームをする為のmigrationメソッドを追加しています。

rename_enum :article_status, to: :article_state
add_enum_value :article_state, "archived"
add_enum_value :article_state, "in review", before: "published"
add_enum_value :article_state, "approved", after: "in review"
rename_enum_value :article_state, from: "archived", to: "deleted"

rename_enumrename_enum_valueはreversibleですが、PostgreSQLの仕様上add_enum_valueはreversibleではありません。enum valueを削除したい場合はenum自体を作り直す必要があります。