Ruby on Rails

Ruby on Rails

FakerやGimeiのseedをrspecのseedと一致させる

概要 rspecにおいて、単体テストの順番や使うデータをランダム化してテストパターンを増やすために config.order = :randomを有効化するのは普通かと思います。テストが失敗したときに、rspecコマンドの--see...
Ruby on Rails

Railsでsessionを無効化する方法

config/initializers/session_store.rbにRails.application.config.session_store :disabledを書き込んでアプリケーションサーバを再起動。 echo "Ra...
Ruby on Rails

Rails 6.1.5でdb:migrationのときにreference周りでエラー

問題 rails db:migrateをしたときに、以下のようなエラーが出るようになってしまった。 親のキーがbigntで作られていないから、外部キーが貼れないというエラー。 Column `parent_id` on ...
Ruby on Rails

RSA Encryption not supported – caching_sha2_password plugin was built with GnuTLS support がでたときの対処法

原因 MySQL5.7までの認証プラグインにはmysql_native_passwordがデフォルトで使用されていましたがMySQL8より新たに追加されたcacing_sha2_passwordがデフォルトに変更されましたがクライア...
Ruby on Rails

Rails + MySQL 8でngramを用いたfulltext index

Railsのmigrationで普通にfulltext indexを付ける場合には以下のようにすると思いますが、普通のfulltext indexではngramが使われないので日本語の全文検索をする場合には全然マッチしません。 cl...
Ruby on Rails

CSVデータをActiveRecordにimportする際における各手法のベンチマーク

概要 RubyにおいてCSVデータをDBに挿入する際の手法による速度の違いをベンチマークCSVデータのインポート処理は業務系のWebアプリケーションを構築する際にはほぼ必ず必要となる機能なので感覚地として掴んでおくことが目的です。 ...
Ruby on Rails

ActiveRecordでネストされたトランザクションのRollback方法

概要 ActiveRecordでトランザクションを入れ子にするケースがあり、ActiveRecordのトランザクションの処理を追ってみるとなかなか興味深かったので文章にまとめておきます。おそらく、この内容を知っておかないと排他制御を...
Ruby on Rails

Benchmarking ActiveRecord and mysql2

概要 RubyActiveRecordを使う場合と使わない場合におけるベンチマークがWebを探しても無かったので測ってみました。純粋な比較は難しいので、あくまでも参考値として見ていただければと思います。比較activerecord ...
Ruby

Ruby on RailsでER図をモデルから生成

Railsの最新のER図をリバースエンジニアリングでスキーマから生成しましょう。rails-erdを使います。 docker container内でコピペでできるようにコマンドを列挙しておきます。 apt update apt...
Ruby on Rails

物理メモリが不足したらpumaを自動で再起動

概要 pumaがどんどんメモリを食っていってしまう。同様に、sidekiqもたくさんメモリを食ってしまっている。GCしても減らない。 ObjectSpace.each_object(ActiveRecord::Relation...
タイトルとURLをコピーしました