無事デバッグモードも表示できたので askeet 2日目に進みました。

データベースの設定

データベース askeet を作成
$ mysqladmin -u username -p --default-character-set=utf8 create askeet

databases.yml を設定

全てコメントアウトされているのでコメントをはずしてdsn を修正、最後に encoding: utf8 を追加

all:
  propel:
    class:          sfPropelDatabase
    param:
      dsn:          mysql://username:password@localhost/askeet
      encoding:     utf8
schema.yml 設定

schema.xml を作成して schema.yml を作成する方法が書かれていますが、面倒なので直接 askeet/config/schema.yml を作成しました。

propel.ini の下記の部分を修正
propel.database.createUrl  = mysql://username:password@localhost/
propel.database.url        = mysql://username:password@localhost/askeet

データベースとモデルの作成

$ symfony propel-build-all

というコマンドでデータベース、モデルをいっぺんに作成。上記コマンドは下記コマンドをそれぞれ実行するようです。

  • symfony propel-build-model
  • symfony propel-build-sql
  • symfony propel-insert-sql

CRUD の作成

Scaffolding 機能を使用して CRUD 用のアクションメソッドと最低限のテンプレートを作成

$ symfony propel-generate-crud frondend question Question

http://askeet/question にアクセスすると一覧、新規登録、編集、削除ができる画面にアクセスできます。

試しにデータを入れたり、編集削除してみました。日本語も大丈夫ですね。

うまく表示できない場合はデバッグモード http://askeet/frontend_dev.php/question にアクセスするとエラーがどこで起きているか確認できます。

関連する投稿