テーブルを作ろうとしたら。

Ruby on Railsってデータベースにテーブルも作れるんだぜぃ、ちょーすげー、と喜び勇んでconfig/database.ymlを設定し、

script/generate migration create_schedules

スクリプトのひな形を作成し、そこから定義を書いて

cd ~/scheduler
rake db:migrate

とテーブルを作る魔法のコマンドを実行したら、/tmp/mysql.sockが無いと怒られた。
DarwinPortsを使ってインストールしたので、mysql.sockが作成されるディレクトリが違うのだろう、じゃ、どうやってmysql.sockの場所を変えればよいのだ、とあれやこれやと調べるとこちらにばっちりな情報が。
MySQLの設定ファイルであるmy.cnfに

[mysqld]
socket=/tmp/mysql.sock

[client]
socket=/tmp/mysql.sock

と書けばよいとのこと。
早速、my.cnfを作成、/opt/local/etc/mysql5/に保存して先ほどの魔法のコマンドを実行。これでテーブルができるぜ、いえーい、と思ったらまた別のエラー。今度は指定したユーザーに権限がないとのこと。おかしいな、ちゃんとやったはずなのに。
今度はこちらを参考にしてRuby on Railsから使用するユーザに対して権限を設定してみる。

mysql5 -uroot -p
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP 
ON scheduler_development.*
TO rails@'localhost';

今度こその願いを込めてコマンドを実行。

rake db:migrate
(in /Users/hoge/scheduler)
== CreateSchedules: migrating ================
-- create_table(:schedule)
   -> 0.0856s
== CreateSchedules: migrated (0.0861s) ==========

ばっちり成功、いえーい、Ruby on Railsってちょーすげー。