1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

株式会社スピードリンクジャパンAdvent Calendar 2024

Day 1

railsのターミナルのコマンドでDBに一気にデータを追加する方法

Last updated at Posted at 2024-11-30

はじめに

この記事は、株式会社スピードリンクジャパン Advent Calendar 2024 の1日目の記事です。
今回は、Railsアプリを開発していると、「既にDBにデータがあるけど、追加で複数のデータを一気に登録したい」という状況がよくありました。この記事では、Railsコンソールを使って、簡単かつ効率的にデータを一括追加する方法を解説します。

1. まとめてデータを登録する方法

まず例として、Userモデルがあるとします。現在、データベースには以下のようにuser_id: 1のユーザーだけが登録されています。

ID Name Email Age
1 user1 user1@example.com 25

ここにid: 2からid: 10のユーザー情報を一気に追加したい場合を考えます。以下の方法を使えば、この操作を数分で完了できます。

手順

  1. Railsコンソールを起動
    ターミナルで以下のコマンドを実行してRailsコンソールを起動します
    bin/rails console
    
  2. データを一括作成
    以下のコードをRailsコンソールで実行します
    (2..10).each do |i|
      User.create!(
        id: id,
        name: "User#{i}",
        email: "user#{i}@example.com",
        age: 20 + i
      )
    end
    

2. データが正しく登録されたか確認する方法

  1. レコード数を確認
    以下を実行して、合計10人分のデータがあることを確認します

    User.count
    #=> 10
    
  2. 追加したデータの内容を確認
    次に、id: 2からid: 10のデータを確認します

    User.where(id: 2..10).each do |user|
      puts "ID: #{user.id}, Name: #{user.name}, Email: #{user.email}, Age: #{user.age}"
    end
    

出力結果(例)

ID: 2, Name: User2, Email: user2@example.com, Age: 22
ID: 3, Name: User3, Email: user3@example.com, Age: 23
ID: 4, Name: User4, Email: user4@example.com, Age: 24
...
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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?