コードファースト
コードファースト(英語:code first)とは、リレーショナルデータベースのテーブル定義などをプログラミング言語で記述することをいう。
概要
一般的にRDBを使用するプロジェクトでは以下のようなものが乱立する。
- テーブル定義を書いた紙の仕様書
- CREATE TABLEなどを記述したSQL文
- データを受け取るクラス
これらのうちひとつでも記載忘れなどが発生すればバグの温床となる。
そこで考えられたのが全てを主となるプログラミング言語のソースコードで一本化しようという思想である。ひとつのクラスがひとつのテーブルとして定義される。いわゆるORMで「SELECT」の結果を受け取るのに使用されるクラスを流用して、実行時などに「CREATE TABLE」までやってしまおうという発想であり、通常はORMの機能として提供される。
「仕様書はソースコードの中に」という思想のもと、いきなりソースコードから書き起こすことからコードファーストと呼ばれる。全世界で議論を呼んだ「ソース読め」の発展系であるといえる。
コードファーストはRuby on Railsで大流行した方式である。