続・DBICが発行するSQLのテーブル名をクォートさせたい

を書いたら、hide-Kさんがトラバくれて解決策を提示してくれた。しかも、id:miyagawaさんからもブクマコメントで同様のアドバイスが。

今回はCatalystでアプリを書いていたので、conf/myapp.yamlのconnect_infoを

Model::DB:
  connect_info:
    - dbi:mysql:dbname
    - username
    - password
    - AutoCommit: 1
      RaiseError: 1
      PrintError: 0
      quote_char: `
      name_sep: .

てな具合にしてやったら解決した。スバラシス

最初、quote_charだけを設定して動かしたら、

SELECT `me.id`, 〜 FROM `hoges` `me`

みたいなSQLが発行されてエラーになってたんだけど、name_sepも指定したらちゃんと

SELECT `me`.`id`, 〜 FROM `hoges` `me`

になっていい感じに動いてくれました。hide-K++

つーか、こんなへんぴなブログにガンガンアドバイスをくれるPerlの人たちのアグレッシブっぷりがすげー