Heroku不会重置我的数据库。

4

我一直在尝试从命令行运行$ 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

I've tried running everything from

#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

and other variations. Please let me know how to correctly note this as I keep getting either an error or this text from the commmand line " ! Unknown database: db7eute4gu4mcb. Valid options are: DATABASE_URL, HEROKU_POSTGRESQL_PINK_URL"

I'm currently at 10.4 on the Ruby on Rails tutorial. Thanks!

3个回答

18

在运行heroku pg:reset命令时,您应该指定一个DATABASE。以下是正确的语法:

您应该在运行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

终于!有人提供了正确的答案!再次感谢 Kien。 - zulucoda
谢谢!我没有意识到你实际上必须输入 HEROKU_POSTGRESQL_PINK_URL。我以为它有一个值。 - mnort9
我尝试了这个,使用了我的正确的数据库URL,但现在由于某些原因,我的Heroku日志中出现了以下内容:http://pastebin.com/Ce5RunSq。在这种情况下我该怎么办?谢谢。 - m_antis
1
@m_antis,你应该运行“heroku run rake db:migrate”来重新创建数据库。 - Thanh

2
这是我成功使用的方法(将app-staging替换为你的应用程序名称,不要替换DATABASE_URL,这是Heroku查找应用程序数据库的方式)。
heroku pg:reset DATABASE_URL --confirm app-staging

希望能帮到您


1
假设您已将身份验证信息导出到Shell环境中,则只需传递数据库名称即可。例如:
PGPASSWORD='foobarbaz'
export PGPASSWORD
heroku pg:reset pink

当然还有其他使用重置命令的方法,但在我看来,这是最简单的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接