symfony1.2のチュートリアル(Jobbet)3日目
日本語訳をしてくださっている方に感謝しつつ、3日目。
データーベースの定義
- schema.ymlというファイルを作る
- configの下にある
- work/jobeet/config/schema.yml
データーベースの設定
MacPortsでインストールしたMySQLを使っているので、こんな感じでした
mysqladmin5 -u root -p create jobeet
- MySQLにはパスワードを設定しています
実行結果
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | jobeet | | mysql | | test | +--------------------+ 4 rows in set (0.10 sec)
ユーザーの作成
GRANT ALL ON jobeet.* TO sfuser@localhost IDENTIFIED BY "sfpass";
symfonyにデーターベースの設定を伝える
symfony configure:database "mysql:host=localhost;dbname=jobeet" sfuser sfpass
configディレクトリで実行したら、symfonyディレクトリで実行してね、とエラーが出ましたよ。もちろん、symfonyディレクトリ(プロジェクト用に作ったディレクトリであるwork/jobeet)で実行したら問題なく終了。
config/databases.ymlに結果が保存されます(これを手書きしてもいいらしい。もちろん、編集してもいいらしい)
SQL文の生成
$ symfony propel:build-sql
SQL文の実行
$ symfony propel:insert-sql
生成したSQLを実行。実行結果は
mysql> show tables; +----------------------+ | Tables_in_jobeet | +----------------------+ | jobeet_affiliate | | jobeet_category | | jobeet_job | | jobeet_job_affiliate | +----------------------+ 4 rows in set (0.00 sec)
modelの生成
$ symfony propel:build-model
こうすると、modelのクラスが./lib/modelの下に生成されます。
一連のショートカット
ショートカットもあるらしい。