RailsでMySQLのLOAD DATA LOCAL INFILEを使う方法
パフォーマンス重視で大量のデータをDBにロードするにはやっぱLOAD DATAコマンドですよね。
で、以下のコードをRails(3.2.11)から投入しようとしたら
ActiveRecord::StatementInvalid:Mysql2::Error: The used command is not allowed with this MySQL version
ってエラーがでました。
たぶん、local-infileオプションが聞いてないんだろうなぁと思ってたら案の定そうで、
いろいろ調べ結果、以下で解決しました。
- mysql2のgemのversionを'0.3.12b6'にする
- database.ymlに"local_infile: true"を追加する