MySQL の高速インポート LOAD DATA INFILE を使用するために、Ruby のデフォルトの CSV ライブラリで CSV を作成したいと考えています。
現在、フィールドに nil を入力すると、 のように記述されますが...;;...
、代わりに...;\N;...
(NULL の場合は大文字の N、\n 改行と混同しないように) にしたいと考えています。
CSV.open(product_updates_file_name, "wb", {col_sep: ";", headers: false, force_quotes: false}) do |product_csv|
product_csv << ["foo", nil, "bar"]
end
現在、10 進数フィールドが NULL ではなく 0.00 としてデータベースにロードされています。
後で NULL に設定することもできますが、何百万もの行といくつかの列が影響を受けるため、MySQL が期待するように CSV を記述することを強く好みます。