Symfony2 テーブル作成、エンティティの生成

Symfony2におけるテーブル、エンティティの作成の方法をいくつかのパターンで書いていきます。
 
既にあるデータベースからエンティティを生成
既存のデータベースにテーブルを作成し、その後エンティティを生成します。
・テーブル作成
| 1 2 3 4 5 6 7 8 9 10 11 | CREATE TABLE `user` (   `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',   `name` varchar(50) NOT NULL COMMENT '名前',   `address` varchar(255) NOT NULL COMMENT '住所',   `tel` varchar(30) DEFAULT NULL COMMENT '電話番号',  `email` varchar(255) NOT NULL COMMENT 'メールアドレス',   `created_at` datetime DEFAULT NULL COMMENT '登録日',   `updated_at` datetime DEFAULT NULL COMMENT '更新日',   PRIMARY KEY (`id`),   UNIQUE KEY `email` (`email`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ; | 
・エンティティの元になるXMLの作成
| 1 | $ php app/console doctrine:mapping:convert xml ./src/Sample/TestBundle/Resources/config/doctrine --from-database --force | 
・先ほど作成したXMLを元にマッピングしたエンティティを作成
| 1 | $ php app/console doctrine:mapping:import SampleTestBundle annotation | 
・作成したエンティティにゲッター、セッターを追加する
| 1 | $ php app/console doctrine:generate:entities SampleTestBundle --no-backup | 
既にあるエンティティからテーブル作成
エンティティが存在する場合は、コマンドを入力してテーブルを作成します。
・テーブル作成
| 1 2 | $ php app/console doctrine:schema:update --dump-sql $ php app/console doctrine:schema:update --force | 
上記コマンドでエンティティからテーブルが作成されます。
Author Profile

スターフィールド編集部
SHARE




