2006-03-09(Thu) [長年日記]
_ [Rails]with Oracle
Rails本とともに会社でも開発を始めました。とりあえずXEもつっこんであるので、develとtestはそちらに振ってます。
んで、migrationを対ORACLEで使ってみたんですが、create_tableだけだと主キーの設定を作ってくれない様子です。テーブル名+_SEQの順序は作ってくれます。しょうがないのでexecuteで書いていますが、なにか手はあるんでしょうか?
ORACLEといえば以前から気になっているんですが、ActiveRecordから出るSQLがどうもバインド変数が使われていない様子。たとえばカラム取得なんかのメタデータ取得ですらテーブル名が文字列展開されているみたい。
ORACLEは9iからやっとこさcursor sharingをforceにすることによってORACLE側で素のSQLをバインド変数に直す機能がついたんですが、XEであってもデフォルトがexactで機能してません。あくまで設定してやる必要があります。そのくせSQLがキャッシュからあふれるとパフォーマンスがおちるってんですからたまりませんが。
古いORACLEにスキーマをきって使うケースもままあるので、AR側で対応して欲しいなあ。私としてはまわりにバインド変数使いやがれっと言っている立場なんで、ちょっと肩身がせまかったりして。