5日目:DataBaseと sfGuardPluginの設定でハマる
次は MySQLの設定ですが、OSをインストールしたっきり MySQLについては何もしていないので、ちょっと勉強。
symfony x PHPのP48に良い説明が。そしてP63にジャンプ。
あと、この辺↓がすごく参考になりました。
http://centossrv.com/mysql.shtml
で、初期設定を終えたら、空のデータベースを作成(徹底攻略本のP207)。後は本の通りに進めてみます。
mysql>create database podtv2;
データベースの設定
/var/www/podtv/config/propel.ini
propel.database = mysql propel.database.createUrl = mysql://xxxx:xxxx@localhost/ propel.database.url = mysql://xxxx:xxxx@localhost/podtv propel.mysql.tableType = InnoDB
なんで InnoDBにしてるんだろうと思ったのですが、↓この辺読んでもよく分からない。まぁいいです。徹底攻略本には外部キーを使用するためと書いてあるけど。
http://d.hatena.ne.jp/naoya/20060729/1154139996
さらにデータベースの設定
/var/www/podtv/config/databases.yml
all: propel: class: sfPropelDatabase param: dsn: mysql://xxxx:xxxx@localhost/podtv encoding: utf8
で、次はスキーマ(データベースの構造)を作る。
/var/www/podtv/config/schema.yml
propel: user: id: name: varchar(255) pass: varchar(255) created_at: updated_at:
これをxmlに変換
$symfony propel-convert-yml-schema
すると、schema.ymlから schema.xmlが出来上がる
<?xml version="1.0" encoding="UTF-8"?> <database name="propel" defaultIdMethod="native" noXsd="true" package="lib.model"> <table name="user"> <column name="id" type="integer" required="true" primaryKey="true" autoincrement="true" /> <column name="name" type="varchar" size="255" /> <column name="pass" type="varchar" size="255" /> <column name="created_at" type="timestamp" /> <column name="updated_at" type="timestamp" /> </table> </database>
で、symfonyで login機能を実現するプラグイン sfGuardPluginをインストール
$ symfony plugin-install http://plugins.symfony-project.com/sfGuardPlugin
今までの設定からテーブルとモデルを作成。
$ symfony-propel-build-all
と、ここまでやったら、なんかエラーがずらっと出ました。
mysqlを見ても何も生成されていない。
mysql > use podtv2; mysql > show tables; Empty Set (0.11sec)
どこかにミスがあったようです。とりあえず、ここまで。
今日は番組の台本を仕上げないといけません。
あと、現在作業は vncでリモートアクセスして、コマンドは GNOME端末で入力しているのですが、過去のログってどうやってさかのぼって参照すれば良いのでしょうか?