问题描述
我一直在为个人项目构建Rails网站。到目前为止,在开发过程中,在Heroku上设置数据库,加载数据然后对其进行更改的过程一直很简单。我一直通过我的AWS开发环境使用以下命令:
heroku耙db:schema:load
heroku rake db:migrate
heroku耙db:seed
..并且我的测试数据一切正常。
现在我要进入“生产”阶段,初始数据太大了,无法使用这种方法(这是一个数据密集的信息网站)。因此,我一直在测试使用上面的前两个命令设置生产数据库,然后通过pg转储文件加载实际数据的方法。仅供参考-我已经在笔记本电脑上设置了本地pg数据库,其中包含了我的初始“设置”数据。
这是我一直在尝试的当前过程:
1。从本地pg数据库中备份数据(以便测试该过程,数据库中只有1个表)
pg_dump -Fc --no-acl --no-owner -h localhost -p 5432 -U [用户] -W -a-仅数据[数据库名称]> /Desktop/name.dump
2。在Heroku中重新创建生产数据库结构(6个表),所以我有一个设置但是空的数据库
heroku rake db:reset [数据库名称]
heroku耙db:schema:load
heroku rake db:migrate
3。加载数据(目前仅测试1个表中的数据)
heroku pg:backups:restore [dropboxlink] [heroku数据库名称]
似乎发生的是,在执行完第2步之后,我设置了6个数据库表,这是正确的。但是,在运行了我认为只是从本地数据库加载1个表的数据的第3步之后,我只剩下了Heroku /我的生产数据库中的1个表。
因此,为了确认我的问题,我正在测试使用转储文件将数据加载到生产数据库中的过程,但是当使用1个表进行测试时,我发现它实际上是删除了所有表,并重新创建了1个测试表,然后加载数据。
您能否建议1)如何使用转储文件/ pg restore加载数据,或2)什么最佳实践是在我的开发环境中开发/测试结构数据库更改并将更改推送到生产环境,同时能够加载大型数据集,尤其是在此初始设置阶段。
希望这有道理, 谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)