我在Heroku上有一个应用程序,我正在尝试用我本地计算机上的数据库替换Heroku上的数据库。
我的印象是
heroku pg:reset DATABASE
将清除远程数据库并允许我推送。但是,运行pg:reset后,我运行
heroku pg:push
我仍然得到这个错误:
Usage: heroku pg:push <LOCAL_SOURCE_DATABASE> <REMOTE_TARGET_DATABASE>
push from LOCAL_SOURCE_DATABASE to REMOTE_TARGET_DATABASE
REMOTE_TARGET_DATABASE must be empty.
几个问题: 1.我必须指定本地数据库和远程数据库吗? [我在本地计算机上的应用程序的根目录中] 2.如果是这样,我如何找到我的本地数据库名称?我知道heroku可以通过DATABASE_URL神奇远程数据库吗?
答案 0 :(得分:0)
您必须同时指定本地数据库(数据来自哪里)和远程数据库(数据所在的位置)。关于REMOTE_TARGET_DATABASE must be empty.
的部分只是提醒您确保在推送之前清除Heroku数据库。
您应该可以从database.yml
文件中找到您的数据库。
您还可以通过heroku pg:info
提醒:Heroku运行PostgreSQL,因此您也应该在本地使用PostgreSQL。