その他
    ホーム技術発信DoRubyCSV形式のデータをインポートする方法

    CSV形式のデータをインポートする方法

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    RAILSでCSV形式のデータをDBにインポートするとき、 Fixturesの中に定義されているcreate_fixturesを使ってみたいと思います。

    結構便利です。まず、RAILS_ROOT/db/initial_data/の中にCSVファイルを設置します。
    この時、ファイル名は、「(データを入れたいテーブル名).csv」としてください。

    今回は、「jobs」テーブルにデータを入れ込んでみたいと思います。
    「jobs」テーブルは、id、name、created_atというカラムを持っています。

    なのでCSVデータを以下のような感じになります。

    RAILS_ROOT/db/initial_data/jobs.csv

    ####################################
    id,name,created_at
    1,会社員,<%= Time.now.strftime(“%Y-%m-%d”) %>
    2,公務員,<%= Time.now.strftime(“%Y-%m-%d”) %>
    3,無職,<%= Time.now.strftime(“%Y-%m-%d”) %>
    ####################################

    このファイルは、Rubyのコードも記述できます。

    あとは、コンソールを開いてデータをインポートします。

    ruby script/console

    Fixtures.create_fixtures RAILS_ROOT + ‘/db/initial_data’, ‘jobs’

    以上