📜  rails 6 中的多个种子 - Ruby (1)

📅  最后修改于: 2023-12-03 15:34:36.595000             🧑  作者: Mango

Rails 6 中的多个种子

在 Rails 6 中,我们可以用多个种子文件来组织种子数据。这对于大型应用程序来说非常有用,因为它可以将种子数据分成小块,使它们更容易管理和更新。在本文中,我将介绍如何在 Rails 6 中使用多个种子文件。

创建多个种子文件

在 Rails 6 中,可以创建多个种子文件。例如,我们可以创建 seeds.rbadmin_seeds.rbdemo_seeds.rb 等文件。每个文件都将包含应用程序中的一部分种子数据。

我们可以使用以下命令来创建这些种子文件:

rails generate seed admin_seeds
rails generate seed demo_seeds

这将在 db 文件夹中创建一个名为 admin_seeds.rbdemo_seeds.rb 的文件。

在种子文件中添加数据

在每个种子文件中,我们可以使用 createfind_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 中,使用多个种子文件可以更好地组织和管理种子数据。我们可以使用 createfind_or_create_by 方法来添加数据,并使用 rails db:seed 命令来运行种子数据。