【发布时间】:2016-06-13 22:23:37
【问题描述】:
我正在使用 yaml 文件为数据库提供初始化数据,并为我的一些服务模型提供初始化数据。我应该在哪里将这些文件存储在 ruby on rails 应用程序中?
【问题讨论】:
标签: ruby-on-rails yaml
我正在使用 yaml 文件为数据库提供初始化数据,并为我的一些服务模型提供初始化数据。我应该在哪里将这些文件存储在 ruby on rails 应用程序中?
【问题讨论】:
标签: ruby-on-rails yaml
基于ruby_newbie 的评论和其他回复的普遍缺乏,似乎没有明确定义的rails 方式。合理的位置是
rails_root/data
rails_root/config/data
rails_root/db/data
【讨论】:
您应该将应用程序运行所需的所有数据放入种子文件 (db/seeds.rb)。 http://edgeguides.rubyonrails.org/active_record_migrations.html#migrations-and-seed-data
【讨论】:
如果您需要创建初始数据库状态,您可以使用“db/seeds/”中的种子文件。在您可以使用 rake 运行并在数据库中创建初始状态之后。
在种子文件中,您可以毫无问题地使用 Rails 模型并运行以下命令 rake 来创建条目。
take db:seed
您可以查看 Rails 文档: http://edgeguides.rubyonrails.org/active_record_migrations.html#migrations-and-seed-data
【讨论】:
将固定数据加载到常量中而不需要存储在数据库中可能会有很好的用例。由于这是技术上固定的“数据”,我建议将其放入
rails_root/db/yaml/
# and you'll have files like
rails_root/db/yaml/measurments.yml
rails_root/db/yaml/locations.yml
# or if you prefer
rails_root/data/yaml/
【讨论】: