我正在使用Rails 3.0.3,并且已经在数据库中有我的“类别”表的数据,但想从中创建种子文件。是否有任何rake任务会从此表中为我生成seeds.rb格式?从已经在数据库中的数据创建种子文件
40
A
回答
55
有一个叫seed_dump
宝石,这将不正是你想要什么:
27
不确定有关的任何现有耙的任务,但你可以尝试在轨控制台&运行这样粘贴的结果到您的seeds.rb文件
(警告:脏&未经)
c = Category.all
c.each do |cat|
puts "Category.create(:name => '#{cat.name}')"
end
调整您可能具有的任何其他字段。
希望这会有所帮助。
+1
无法想象我怎么忘记这个黑客。非常感谢 – 2013-08-01 04:06:38
7
我已经使用YamlDb从我的开发数据库转储数据,然后将其加载到另一台服务器。它将数据转储到Yaml文件,随时可以使用db:load将其推送到任何其他数据库服务器。
2
老问题,我有一个基于一个新的@ Brian的回答。
如果你想保持整个行的是:
seedfile = File.open('db/seeds.rb', 'a')
c = Category.all
c.each do |cat|
seedfile.write "Category.create(#{cat.attributes})\n"
end
seedfile.close
如果你只想写一些属性,写入行更改为以下:
seedfile.write "Category.create(#{cat.attributes.slice('attr1', 'attr2', ...})\n"
或者,如果您希望所有的属性除了一些,例如时间戳:
seedfile.write "Category.create(#{cat.attributes.except('created_at', 'updated_at')})\n"
相关问题
- 1. Rails 3:从开发数据库创建种子数据
- 2. 当数据已经在数据库中时,EF种子不工作
- 3. 数据导入已经创建MySQL数据库
- 4. 从已创建的数据集中创建外部txt文件
- 5. 从sql脚本创建种子数据
- 6. 创建大阵/从种子数据/键
- 7. MongoDB从文件创建数据库
- 8. 从文本文件数据创建数据库表
- 9. 当数据已经在数据库中时,PHP没有从数据库中获取用户数据
- 10. 从已有数据在ClosedXML C#中创建Excel数据表
- 11. 如何插入从自动生成的数据和已经创建的数据
- 12. 从数据集创建数据库(mdf)
- 13. 从现有的数据库Laravel种子数据库
- 14. 如何基于python中的数据库数据创建文件?
- 15. 环境已经改变,因为数据库创建
- 16. 从数据库创建URL
- 17. 从数据库创建Excel
- 18. 目前已经在数据库
- 19. 目前已经在数据库
- 20. 从数组中的数据创建新的数据库行?
- 21. 从已修改的数据库字段中创建URL
- 22. Python数据库访问使用单个文件/已经构建文件
- 23. EF6数据库优先 - EF试图创建我的数据库(但所有的表已经存在)
- 24. 从数据库创建PDF和文件夹中的图片
- 25. 如何从Python中的csv文件创建SQL数据库
- 26. 在Rails应用程序中创建一个子数据库,将数据存储在子数据库中
- 27. 从现有数据库创建数据库表正在进行
- 28. Zend框架 - 从数据库中创建数据库表 - 错误
- 29. 未创建SQLite数据库文件
- 30. dbml文件 - 创建数据库
这是一个很好的分享,谢谢! – 2012-07-24 02:53:31