我一直在尝试从命令行运行 $ heroku pg:reset ,但我相信我没有正确地放入数据库。我尝试了很多变化。
我跑 $ heroku config | grep POSTGRESQL 获取打印为
的数据库名称HEROKU_POSTGRESQL_PINK_URL: postgres://naknaswvxfvuup:QK2dHYNMZ_va10lDgMDo4S0BIM@ec2-23-21-161-255.compute-1.amazonaws.com:5432/db7eute4gu4mcb
我试过运行一切
#1
$ heroku pg:reset HEROKU_POSTGRESQL_PINK_URL: postgres://naknaswvxfvuup:QK2dHYNMZ_va10lDgMDo4S0BIM@ec2-23-21-161-255.compute-1.amazonaws.com:5432/db7eute4gu4mcb
#2
$ heroku pg reset postgres://naknaswvxfvuup:QK2dHYNMZ_va10lDgMDo4S0BIM@ec2-23-21-161-255.compute-1.amazonaws.com:5432/db7eute4gu4mcb
#3
$ heroku pg:reset db7eute4gu4mcb
等变体。请让我知道如何正确记录这一点,因为我不断从命令行“! Unknown database: db7eute4gu4mcb. Valid options are: DATABASE_URL, HEROKU_POSTGRESQL_PINK_URL"
我目前在Ruby on Rails教程的10.4上。谢谢!
答案 0 :(得分:18)
运行heroku pg:reset
时应指定DATABASE。这是语法:
heroku pg:reset <DATABASE>
要了解其价值,您可以运行:
heroku pg:info
它会返回DATABASE_URL,例如: HEROKU_POSTGRESQL_GRAY_URL
然后你可以重置你的数据库:
heroku pg:reset HEROKU_POSTGRESQL_GRAY_URL
在您的情况下,要重置数据库运行:
heroku pg:reset HEROKU_POSTGRESQL_PINK_URL
答案 1 :(得分:2)
这就是它对我有用的方式 (用您的应用程序名称替换app-staging,不要替换DATABASE_URL,这就是heroku现在找到应用程序数据库的方式)
heroku pg:reset DATABASE_URL --confirm app-staging
希望有所帮助
答案 2 :(得分:1)
假设您已将身份验证信息导出到shell环境,那么只需传递数据库的名称即可。例如:
PGPASSWORD='foobarbaz'
export PGPASSWORD
heroku pg:reset pink
当然还有其他方法可以使用reset命令,但恕我直言这是最简单的。