Ruby on rails 如何用开发数据填充生产数据库(heroku)?(轨道)

Ruby on rails 如何用开发数据填充生产数据库(heroku)?(轨道),ruby-on-rails,database,heroku,migration,Ruby On Rails,Database,Heroku,Migration,heroku run rake db:migrate可以很好地改变生产数据库的结构: Migrating to CreateUsers (20120318090252) Migrating to AddIndexToUsersEmail (20120319191315) Migrating to AddPasswordDigestToUsers (20120319194632) Migrating to AddRememberTokenToUsers (20120323142854) 但是我添

heroku run rake db:migrate
可以很好地改变生产数据库的结构:

Migrating to CreateUsers (20120318090252)
Migrating to AddIndexToUsersEmail (20120319191315)
Migrating to AddPasswordDigestToUsers (20120319194632)
Migrating to AddRememberTokenToUsers (20120323142854)
但是我添加到本地开发数据库的条目和数据还没有上传到heroku生产数据库

这是正常的,还是有办法使两个数据库匹配


提前感谢。

迁移可以同时处理结构(模式)和数据,但一旦开始迁移,就会假设在大多数情况下,生产数据是规范的信息源。如果设置数据库需要数据,例如列表(“万事达卡、Visa卡、美国运通”)或引导数据(例如设置管理员用户),则可以将其放入“seeds.rb”文件中。没有任何内置内容可以复制数据库(模式和内容)并自动应用它——这通常是一次性的

(另一个方向——将生产数据库复制到QA或开发实例是一个常见的用例。首先,您可能会认为:Rails应该能够做到这一点。但是复制典型的生产数据库可能会充满问题。最重要的是:复制具有用户信息的生产数据库是一个重大的安全风险;任何复制操作至少都应该让用户匿名。第二个问题是数据库大小:生产数据库通常很有用,甚至是复制现实生活中的性能问题或其他边缘情况所必需的,但任何大型数据库复制都将花费很长时间,并且高度依赖于特定的数据库您正在使用,并且在权限上)


简而言之,Rails在迁移方面做的是正确的:假设结构更新正常,但需要您填充数据。希望这有帮助!

这是正常的行为。
rake db:migrate
只会创建您的数据库结构。如果您想复制Heroku上已经在开发中的数据,请使用命令,或如果您想用一些固定记录初始化数据库,则必须使用seeds.rb。

您的意思是您的本地框中有生产中需要的数据吗?有多少数据?填写查找表?