LoginSignup
4
0

More than 3 years have passed since last update.

Rails6.0.2のActiveRecordに関する変更点まとめ

Last updated at Posted at 2019-12-20

Ateam Finergy Inc. Advent Calendar 2019の21日目です。

今回は、前回10日目に投稿したRails6.0.2の変更点まとめの続きになります。
前回はActive Support,Active Job,Action Pack,Railtiesについて記述しました。
今回はActiveRecordについてです。

1. マルチDBのトランザクションテストの修正

マルチDBのトランザクションテストの際、プライマリーとレプリカで同じコネクションプールを共有するようになっています。
プライマリーで作成したレコードをレプリカから参照できない、というバグの修正になります。

2. associationのthrow :abort時の処理を修正

ActiveRecord::Associationsthrow :abortした場合に、コールバックチェーンが停止しないバグがあったのを修正しています。

3. where.notの非推奨メッセージの表示条件を修正

Rails6.0.0から、where.notが否定論理和(NOR)として動作することが非推奨となりました。
その非推奨のメッセージを表示する条件に一部不具合があったため、修正しています。

4. db:migrate実行後のDBコネクションを修正

db:migrateタスクを実行した後、タスク実行前に接続していたDBコネクションに再び接続するように修正しています。

5. AcceptanceValidatorのマルチスレッド処理のための修正

AcceptanceValidatorは、フォーム上のチェックボックスがオンになっているかどうかの検証を行なっています。
今回の修正ではMutexという排他制御のためのクラスを使って、マルチスレッドでも正しく動作するようにしてます。

6. 最後に

ActiveRecordについての変更もバグ修正ばかりでしたね。
引き続き、Rails6の品質がより向上していくことを期待しています。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0