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