use*_*444 6 database migration ruby-on-rails heroku
heroku run rake db:migrate 可以正常工作来改变生产数据库的结构:
Migrating to CreateUsers (20120318090252)
Migrating to AddIndexToUsersEmail (20120319191315)
Migrating to AddPasswordDigestToUsers (20120319194632)
Migrating to AddRememberTokenToUsers (20120323142854)
Run Code Online (Sandbox Code Playgroud)
但是条目,我添加到本地开发数据库的数据还没有上传到heroku生产数据库.
这是正常的,还是有办法使两个数据库匹配?
提前致谢.
eug*_*gen 10
这是正常的行为.rake db:migrate只会创建您的数据库结构.如果要复制Heroku上已有的数据,请使用该heroku db:push命令,或者如果要使用某些固定记录初始化数据库,只需使用seeds.rb.
迁移可以处理结构(模式)和数据,但是一旦滚动,假设在大多数情况下,您的生产数据是规范的信息源.如果需要设置数据库的数据,例如列表("万事达卡","维萨卡","美国运通卡")或自举数据(例如设置管理员用户)等内容,可以使用"种子.rb"文件.内置任何内容它创建了一个数据库(模式和内容)的副本并自动应用它 - 这通常是一次性的事情.
(转向另一个方向 - 将生产数据库复制到QA或开发实例是一个常见的用例.首先,您可能会认为:Rails应该能够做到这一点.但复制典型的生产数据库可能会遇到问题.最重要的是:复制具有用户信息的生产数据库是一个重大的安全风险;任何复制操作至少应该使用户匿名.第二个问题只是数据库大小:生产数据库通常是有用的,甚至是必要的,以重现真实的生活性能问题或其他边缘情况,但任何大型数据库最终都需要很长时间才能复制,并且高度依赖于您正在使用的特定数据库以及权限)
简而言之,Rails在迁移时做了正确的事情:假设结构更新正常,但需要您填充数据.希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
3894 次 |
| 最近记录: |