Rails

Railsを5.2.4から6.0.4にアップデートした手順をメモ

Railsを5.2.4→6.0.4にアップデートする機会があった。アップデートのために行った手順、手順ごとの調査をメモした。 手順 1. Rails以外のバージョンが古いライブラリをアップデートする Railsアップデートの影響範囲を小さくするため、Rails以外のライブラリ…

activerecord-import の on_duplicate_key_update, on_duplicate_key_ignore 周りを調査

背景 activerecord-importのバージョンを0.15.0から1.2.0(最新)にアップデートしたい。 on_duplicate_key_update周りでBREAKING_CHANGEがある。 DBはMySQLを使用している。 on_duplicate_key_updateとは MySQL https://dev.mysql.com/doc/refman/5.6/ja/inse…

Ralisのstrict validation

Active Record バリデーション - Railsガイド 使ったことなかったが、ユーザー普通にフォームからPOSTしただけでは起きえないエラーのvalidationに良さそう。 POSTされたデータが、普通にフォームをPOSTしただけじゃ起きえないような整合性の崩れ方している…

構造が定まってないHashにアクセスする場合は[]よりもfetchのほうが安全

Railsの話。Hashは[]で値が取り出せる pry(main)> p = {a: {b: :c}} pry(main)> p[:a][:b] => :c Hashの構造が定まってなくて、求めている構造のときのみ値を取得するケースを考える 例えば信用できない外部APIのレスポンスをパースしたり、ユーザーがPOSTす…