ActiveRecord の relation 定義には、 autosave
を指定できるが、その挙動のまとめ。
associated object の状態により分岐する模様。
autosave なし | autosave: true | autosave: false | |
---|---|---|---|
新規 save | される | される | no touch |
update | no touch | される | no touch |
(新規かつ) validation error | 親のみ save / 子は error | 全体 rollback | no touch |
ActiveRecord のデフォルト値
ActiveRecord は、 DB のデフォルトを読み込んで、それをモデルのデフォルト値として採用する。
ActiveRecord で MySQL の共有レコードロックを取得する
relation.lock('LOCK IN SHARE MODE')
aws-record
AWS が提供する ruby 系の gem で、DynamoDBをバックエンドとする ORM を提供する。 DynamoDB は RDB ではないので、ActiveRecord としては提供されず、独自 ORM という形式が取られている。
Rails でカラム削除
`ignore_columns` を指定してリリースし、その状態でカラム削除して、 ignore_columns を消して再度リリースする。
Active Record Extended
aws-sdk-rails
Rails を aws 上で動かす際に欲しくなる機能もろもろを提供うる AWS のオフィシャル gem。
factory_bot
テストデータのファクトリーを定義する、おそらく一番有名な rails 系のライブラリ。 RSpec と一緒に導入されるケースがほとんど。
Pundit
View にて pundit の policy を利用する例: Helper にて Pundit を手動で呼び出している。
RSpec
未成功のテストは以下の2つのいずれかを指定できる。
xit
などで指定可能---2022/11/24