Rails数据填充 #
一、Seeds文件 #
1.1 基本用法 #
ruby
# db/seeds.rb
User.create!(
email: 'admin@example.com',
password: 'password',
admin: true
)
10.times do |i|
Article.create!(
title: "文章 #{i + 1}",
body: "这是第 #{i + 1} 篇文章的内容..."
)
end
1.2 执行seeds #
bash
rails db:seed
# 重置并填充
rails db:reset
二、使用Faker #
2.1 安装Faker #
ruby
# Gemfile
group :development, :test do
gem 'faker'
end
2.2 生成测试数据 #
ruby
# db/seeds.rb
require 'faker'
50.times do
User.create!(
email: Faker::Internet.email,
name: Faker::Name.name,
phone: Faker::PhoneNumber.phone_number
)
end
100.times do
Article.create!(
title: Faker::Lorem.sentence,
body: Faker::Lorem.paragraph(sentence_count: 10),
author: User.random
)
end
三、批量导入 #
3.1 使用insert_all #
ruby
# db/seeds.rb
users_data = 1000.times.map do |i|
{
email: "user#{i}@example.com",
name: Faker::Name.name,
created_at: Time.now,
updated_at: Time.now
}
end
User.insert_all(users_data)
四、总结 #
4.1 核心要点 #
| 要点 | 说明 |
|---|---|
| seeds.rb | 数据填充文件 |
| Faker | 生成测试数据 |
| insert_all | 批量导入 |
| db:seed | 执行填充 |
4.2 下一步 #
现在你已经掌握了数据填充,接下来让我们学习 数据库索引,深入了解Rails的索引优化!
最后更新:2026-03-28