mysql.sockでハマる

symfony1.4のお話。

doctrine:build-schema
を使えば、DBの情報を調べてschema.ymlを自動で書いてくれるとのこと。
早速試してみたところ…

/Users/hchuno/sfproject% ./symfony doctrine:build-schema
>> doctrine generating yaml schema from database


Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) in /Users/hchuno/sfproject/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 470


PDO Connection Error: SQLSTATE[HY000] [2002] No such file or directory

…となって失敗。
mysql.sockの場所がMacだと違うため、database.ymlのdsnの項目に、

unix_socket=/tmp/mysql.sock

を追記することにした。

以下はdatabase.ymlの中身。

all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: 'mysql:host=localhost;dbname=hchunodb;unix_socket=/tmp/mysql.sock'
username: root
password: null


改めて「doctrine:build-schema」を実行。

/Users/hchuno/sfproject% ./symfony doctrine:build-schema
>> doctrine generating yaml schema from database
>> doctrine Generate YAML schema successfully from database