LoginSignup
1
0

【Rails】fly.ioでコンソールを使ってDBに初期データを保存する方法

Last updated at Posted at 2024-01-11

概要

開発環境ごとにデータベースが作られているため、デプロイ後、ローカル環境で作成していた初期データを本番環境にて作成する必要がありました。
そのときに「fly.io上でコンソールを使ってデータを作成する方法」を実施したので、その方法を記載します。

今回は、以下の2つのパターン挙げます。
    
    ①Rakeタスクの実行(csvファイル読み込みのため)
    ②seedファイルの読み込み

※ 事前にfly.ioへのデプロイを完了し、データのもととなるcsvファイル及びseedファイル、読み込みのためのRakeタスクについては作成済みとします。

環境

Rails 7.08
Ruby 3.1.4
Fly.io
Docker利用なし

fly.ioでコンソールの立ち上げ (共通)

$ flyctl console 

(事前にflyctlのインストールを実施しておく。https://fly.io/docs/hands-on/)

①Rakeタスクの実行(csvファイル読み込みのため)

fly.ioで起動したコンソール上でRakeタスクを実行します。

irb(main):001:0> Rails.application.load_tasks
=> #<アプリケーション名::Application>

irb(main):002:0> Rake::Task['namescope名:タスク名'].execute
path: /rails/db/csv/ファイル名.csv
start to create xxxx data
completed!!

②seedファイルの読み込み

fly.ioで起動したコンソール上で、seedファイルをloadで読み込みます。

irb(main):003:0> load 'db/seed.rb'
(略)
=> true

終わりに

デプロイ先が異なっても基本的な考え方は変わらないため、今回の方法は、応用が可能かと思いました。
なお、記載内容に不十分な点などがございましたら、ご指摘いただけますと幸いです。

参考記事

RailsでのCSVデータ投入
RailsでRakeタスクをconsoleから呼び出す方法

参考サイト

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0