【问题标题】:What is the function of the seeds.rb file?seed.rb 文件的作用是什么?
【发布时间】:2012-11-27 04:03:57
【问题描述】:

我对 Ruby on Rails 非常陌生。不知道seed.rb文件的作用是什么,为什么要用这个文件,为什么需要运行rake db:seed命令。谁能举例说明一下?

【问题讨论】:

    标签: ruby-on-rails seed


    【解决方案1】:

    引导数据

    种子数据的目的是引导您的数据库。例如,如果您有一个用于跟踪用户所在城市和州的 users 表,您可能希望在创建第一个用户之前使用美国州名和缩写作为相关表的种子。

    同样,您可能还希望播种诸如管理帐户之类的内容,或首次运行您的应用所需的其他数据。作为一般规则,您不应该向 seed.rb 文件添加任何对于引导您的数据库或其关系而言不必要的内容。

    相关的 Rake 任务

    seeds.rb 文件是存储种子数据的位置,但您需要运行适当的 rake 任务才能真正使用种子数据。在项目目录中使用 rake -T 会显示有关以下任务的信息:

    • 耙分贝:种子
      从 db/seeds.rb 加载种子数据
    • rake db:setup
      创建数据库、加载架构并使用种子数据进行初始化
    • rake db:reset
      rake db:setup,但先删除数据库

    因此,您可以随时运行rake db:seed 手动运行seeds.rb 文件。但是,在大多数情况下,您可能希望在引导应用程序时运行 rake db:setuprake db:reset

    【讨论】:

    【解决方案2】:

    seed.rb 文件的目的非常简单,它允许我们通过使用语法写入文件来接受我们(模型)数据库中的数据,并在 rake 任务之后填充它,因为我们通过使用表单输入这些数据控制器,模型。 例如:

    Country.create(name: 'Germany', population: 81831000)
    Country.create(name: 'France', population: 65447374)
    Country.create(name: 'Belgium', population: 10839905)
    Country.create(name: 'Netherlands', population: 16680000)
    

    之后: 耙分贝:种子 rake db:setup

    【讨论】:

      猜你喜欢
      • 2013-06-26
      • 1970-01-01
      • 2010-11-08
      • 2015-02-08
      • 1970-01-01
      • 1970-01-01
      • 2014-07-07
      • 2012-06-27
      • 1970-01-01
      相关资源
      最近更新 更多