2023年8月6日 / 最終更新日時 : 2024年10月9日 admin Ruby on Rails 0時〜9時前までに実行するとバグる(テストが落ちる)原因と対策 今の現場で、以前から9時前にテストを走らせると落ちる問題があり、 不意に原因が分かったので対応しました。 理解が若干曖昧だったので、改めて再現させて、ベストプラクティスを考えてみました。 先ずは、現象を再現させる 前提: […] ActiveRecordConfigRSpec調査
2023年2月22日 / 最終更新日時 : 2023年2月22日 admin Ruby on Rails FactoryBot:リレーション先でリレーション元と同じidで作成されるようにする なんのこっちゃ? タイトルを上手く書けなかったので、ER図で説明します。 下記のようにtask_cyclesにspace_idを入れなくてもtasksを経由すれば引けるのですが、DBのindexを効率的に利かせたいのと、 […] ActiveRecordFactoryBotRSpec
2022年8月21日 / 最終更新日時 : 2022年8月21日 admin Ruby on Rails 初期・マスタデータをyaml変更だけで完結できるようにseedを実装する seedは初期データやマスタデータを投入する仕組みですが、自分で実装する必要があり、データが増える前にyamlを読むように実装ているケースが多いのではないでしょうか。 対象テーブル追加毎にdb/seeds.rbに手を入れ […] ActiveRecordDeviseseed共通化
2021年8月8日 / 最終更新日時 : 2021年9月14日 admin Ruby on Rails Devise導入済みのアプリにDevise Token Authを入れて共存させる データ移行せずに、登録済みのユーザがそのままAPIを使ったアプリでも認証できるようにDevise Token Authを入れて共存できるようにしてみました。 今まで通りDeviseで登録・認証できる事、APIでも登録・認 […] ActiveRecordAPIDeviseDevise Token AuthMySQLPostgreSQLseedSQLite3認証
2021年8月4日 / 最終更新日時 : 2021年8月8日 admin Ruby on Rails decimalをto_iしても良いが、その前にそもそも PostgreSQLを使っていて、金額のカラムをdecimalに変更した時に、小数が表示されるようになりました。to_iすれば正数になりますが、to_iがto_integerだとするとINT_MAX(2147483647 […] ActiveRecordDB設計書MySQLPostgreSQLSQLite3
2021年5月30日 / 最終更新日時 : 2021年5月30日 admin Ruby on Rails Rails(ActiveRecord)のscopeにハマった話 結論から先に。特定のケースでscope内でnilとなる場合は、allになる。 first指定してても条件により全件取れるので、後続の処理(1件を期待した処理)でコケる。 常になる訳ではなく、データに依存するので気付き難く […] ActiveRecord
2013年12月26日 / 最終更新日時 : 2013年12月26日 admin Ruby on Rails Railsのトランザクションが怖い トランザクションを全体に掛けて、大量のINSERT/UPDATEを行う処理があり、これを実行したら大量にメモリが消費され、物理メモリを食い尽し -> スワップが発生 -> Load averageが急上昇、という事態に見 […] ActiveRecordトランザクション