【问题标题】:Error while using pg:push to a Heroku PostgreSQL database使用 pg:push 到 Heroku PostgreSQL 数据库时出错
【发布时间】:2021-01-22 06:01:35
【问题描述】:

我正在尝试将本地 PostgreSQL 数据库推送到我在 Heroku 应用程序上创建的数据库。为了设置 Heroku 数据库,我运行了heroku addons:create heroku-postgresql:hobby-dev -a jasons-react-jobly-app,其中jasons-react-jobly-app 是我的 Heroku 应用程序的名称。

然后我运行heroku pg:push jobly DATABASE_URL -a jasons-react-jobly-app,其中jobly 是我本地数据库的名称。

这会引发以下错误:

heroku-cli: Pushing jobly ---> postgresql-animate-30221
                case
------------------------------------
 0.9992547478473790.999254747847379
(1 row)

 !    Cannot read property 'includes' of undefined

该错误看起来像是 JavaScript 在尝试读取未定义对象或其他内容的属性时抛出的错误,但我不确定在此数据库推送中会发生这种情况。该应用程序在我的本地机器上运行良好,没有错误。我的任何数据库表中都没有case 列,所以我也不确定该数字来自哪里。

另外,如果我使用 heroku config 检查我的 Heroku 配置变量,我会看到:

DATABASE_URL: postgres://iqawqkjfiybndd:c3e921131c239ccd6c880ad4b601deeaa4558339a90ebedc562a5575c9099f42@ec2-54-156-85-145.compute-1.amazonaws.com:5432/dul2u6r13aq5i

所以我知道数据库存在。

有解决这个错误的帮助吗?

【问题讨论】:

    标签: postgresql heroku command-line-interface heroku-postgres


    【解决方案1】:

    您需要获取您在 heroku 仪表板上看到的附加到 heroku 应用程序的数据库名称。

    在这个网址https://dashboard.heroku.com/apps/{put-your-app-name-here}/resources 要在 heroku cli 中获取所有应用名称,请执行 heroku apps,您将从其仪表板中知道您想要哪个应用的数据库名称。

    一旦你有了数据库的名称(它看起来像这样“postgresql-pointy-81624”)

    在命令中使用该名称将本地数据库推送到 heroku 上的该数据库。

    以下步骤可确保一切正常 1-首先检查与heroku db的连接性

    heroku pg:psql postgresql-[somedb name as found above] --app {your-app-name}
    

    2- 如果它说要重置数据库并且您负担得起重置然后使用重置它

    heroku pg:reset -a {your-app-name}
    

    3- 最后使用此命令迁移数据库

    heroku pg:push jobly postgresql-[db name found above] -a {your-app-name}
    

    如果一切正常,您将看到此消息

    heroku-cli: Pushing complete.
    

    【讨论】:

      猜你喜欢
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 2015-07-25
      • 2021-03-04
      • 2014-03-04
      • 2018-10-01
      • 2017-07-06
      相关资源
      最近更新 更多