📅  最后修改于: 2023-12-03 15:34:36.595000             🧑  作者: Mango
在 Rails 6 中,我们可以用多个种子文件来组织种子数据。这对于大型应用程序来说非常有用,因为它可以将种子数据分成小块,使它们更容易管理和更新。在本文中,我将介绍如何在 Rails 6 中使用多个种子文件。
在 Rails 6 中,可以创建多个种子文件。例如,我们可以创建 seeds.rb
,admin_seeds.rb
和 demo_seeds.rb
等文件。每个文件都将包含应用程序中的一部分种子数据。
我们可以使用以下命令来创建这些种子文件:
rails generate seed admin_seeds
rails generate seed demo_seeds
这将在 db
文件夹中创建一个名为 admin_seeds.rb
和 demo_seeds.rb
的文件。
在每个种子文件中,我们可以使用 create
或 find_or_create_by
方法来添加数据。例如,以下是在 demo_seeds.rb
文件中添加新用户的示例:
User.create(name: 'John Doe', email: 'john@example.com', password: 'password')
User.create(name: 'Jane Doe', email: 'jane@example.com', password: 'password')
我们还可以使用 find_or_create_by
方法来避免添加重复数据。例如,以下是在 admin_seeds.rb
文件中添加管理员用户的示例:
Admin.find_or_create_by(email: 'admin@example.com') do |admin|
admin.password = 'password'
end
要运行种子数据,我们可以使用以下命令:
rails db:seed
如果我们只想运行特定的种子文件,则可以使用以下命令:
rails db:seed:admin_seeds
rails db:seed:demo_seeds
在 Rails 6 中,使用多个种子文件可以更好地组织和管理种子数据。我们可以使用 create
或 find_or_create_by
方法来添加数据,并使用 rails db:seed
命令来运行种子数据。