はじめに
この記事は、株式会社スピードリンクジャパン Advent Calendar 2024 の1日目の記事です。
今回は、Railsアプリを開発していると、「既にDBにデータがあるけど、追加で複数のデータを一気に登録したい」という状況がよくありました。この記事では、Railsコンソールを使って、簡単かつ効率的にデータを一括追加する方法を解説します。
1. まとめてデータを登録する方法
まず例として、Userモデルがあるとします。現在、データベースには以下のようにuser_id: 1のユーザーだけが登録されています。
ID | Name | Age | |
---|---|---|---|
1 | user1 | user1@example.com | 25 |
ここにid: 2からid: 10のユーザー情報を一気に追加したい場合を考えます。以下の方法を使えば、この操作を数分で完了できます。
手順
- Railsコンソールを起動
ターミナルで以下のコマンドを実行してRailsコンソールを起動しますbin/rails console
- データを一括作成
以下のコードをRailsコンソールで実行します(2..10).each do |i| User.create!( id: id, name: "User#{i}", email: "user#{i}@example.com", age: 20 + i ) end
2. データが正しく登録されたか確認する方法
-
レコード数を確認
以下を実行して、合計10人分のデータがあることを確認しますUser.count #=> 10
-
追加したデータの内容を確認
次に、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
...