【Rails】鉄道会社・路線・駅データをseedで取得・インポートする

Railsで鉄道会社・路線・駅のCSVファイルからデータを挿入する方法を紹介します。

駅データ.jpで鉄道会社・路線・駅データをダウンロードし、Railsプロジェクトに格納

駅データ.jpで鉄道会社・路線・駅データをダウンロードします。ダウンロードするためには会員登録が必要です。

ダウンロードしたCSVファイルをdb/data配下に格納しておきます。

  • db/data/companies.csv (鉄道会社データ)
  • db/data/lines.csv (路線データ)
  • db/data/stations.csv (駅データ)

駅関連データ提供元:駅データ 無料ダウンロード 『駅データ.jp

 

鉄道会社・路線・駅のマイグレーション作成

まずは、鉄道会社・路線・駅のマイグレーションファイルを作成します。

・db/migrate/20200101000001_create_companies.rb

 

・db/migrate/20200101000002_create_lines.rb

 

・db/migrate/20200101000003_create_stations.rb

 

鉄道会社・路線・駅のモデル作成

鉄道会社・路線・駅のモデル作成を作成します。各々のリレーションもはっておきます。

・app/models/company.rb

 

・app/models/line.rb

 

・app/models/station.rb

 

seed.rbで鉄道会社・路線・駅データを取得し、テーブルに保存

先ほど保存したCSVファイルから必要なカラムのデータを取得していきます。鉄道会社データから駅データを取得していき、完了です。

・db/seeds.rb

以上、鉄道会社・路線・駅データをseedで取得・インポートする方法でした。