MysqlAdapterに動的パッチ

リナザウ上の Rails

customer = Customer.find(100);
customer.name = "hoge"
customer.save

ってなコードを実行したところ、saveのところで「SQLの構文があかんでー」と怒られた(´・ω・`)

調査してみたところ

というのが原因ですた。とりあえず、

# mysql_adapter_nonquote_patch.rb
class ActiveRecord::ConnetionAdapters::MysqlAdapter
  def quote_column_name(name)
    # 既存のコード
    # return "`#{name}`" 

    # クォートしません
    return "#{name}"
  end
end

ってなファイルを作って requireしてやることで動的にパッチを当ててあげることとする。なんだかアレな対応だけど、とりあえず動いたからいいや。