概要

私たちはdatabase.ymlに必要情報を記述し、適当なモデルのfind/whereメソッドを使うだけで、いつの間にかDB接続の確立がなされて、ほしいデータがいつでも簡単に取得できるようになっています。 さて、ActiveRecord内部ではどのような処理を以て、この簡単さを実現しているのでしょうか?普段あまり着目しない部分ですので、ブラックボックス化してる方も少なくないと思います。 そこで、本セッションではMySQLへの接続確立するまでのActiveRecord内部の動きについて紹介します。 具体的には、接続に関する各クラスの役割(active_record/connection_handler等)を適宜紹介しつつ、実際にfindメソッドをデバッグ実行した際のスタックトレースを通して、接続確立までのActiveRecordの内部処理の全容を持ち帰っていただきます。


発表資料

Speaker

アバター画像:kubo
kubo

DBREのお仕事をしています。MySQLをよく触ります。最近Railsと仲良くなり始めました。