基本的には、教えていただいたサイトの
http://www.symfony.gr.jp/docs/symfony1-docs/jobeet/ja/
を参考に実施。ORMはDoctrineを使用。
手順はバラバラにやってます。
Configを設定symfony configure:database "mysql:host=[サーバーアドレス];dbname=[DB名]" [ユーザー名] [DBのパスワード]DBを作成symfony doctrine:build-dbおお!DBが出来てる!すごいすごい! テーブルスキーマの作成をする。 config/doctrine/schema.ymlを手動で編集する。 今回は簡単なユーザーマスタを作成。 テーブルは下記のような感じ ・ユーザーID ・パスワード ・ユーザー名 ・削除フラグ ・登録日時 ・更新日時 config/doctrine/schema.ymlの中身MstUser: tableName: MstUser options: charset: utf8 columns: user_id: type: string(255) primary: true password: type: string(255) notnull: true user_name: type: string(255) notnull: true delete_flg: type: char(1) default: 0 notnull: true actAs: Timestampable: { }下記部分が、登録日と更新日をsymfonyが管理してくれるらしい。 (自動でカラムが追加される。) --------------------------------- actAs: Timestampable: { } --------------------------------- 下記を入れないと、UTF8にならなかった。 (他に方法がありそうな感じ) --------------------------------- options: charset: utf8 --------------------------------- モデルを作成symfony doctrine:build --model下記、ファイルが作成される。lib/model/doctrine/MstUser.class.php lib/model/doctrine/MstUserTable.class.php lib/model/doctrine/base/BaseMstUser.class.phpSQLを作成symfony doctrine:build --sql下記、ファイルが作成される。data/sql/schema.sql中身を見てみるとCREATE TABLE MstUser (user_id VARCHAR(255), password VARCHAR(255) NOT NULL, user_name VARCHAR(255) NOT NULL, delete_flg CHAR(1) DEFAULT '0' NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(user_id)) DEFAULT CHARACTER SET utf8 ENGINE = INNODB;CREATE文が作成されている。 また、created_at/updated_atも定義されている。 SQLを実行してテーブルを作成symfony doctrine:insert-sql
なんだか便利だけど、なれるまでかかりそう。
ビルドをするとoptions属性は消えるので、注意が必要なようです
返信削除