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