如何在Heroku上部署Postgres

时间:2020-08-07 03:09:48

标签: node.js postgresql docker heroku-postgres

我正在开发一个基于nodejs和postgresql的日冕病毒项目。我正在尝试在heroku上部署我的应用程序,但是遇到一些问题。这些问题来自postgres配置(我认为)。

我有一个.env文件,在其中已经初始化了一些变量(DATABASE_URL,...),我不知道如何将它们传输到heroku。 我已经关联了一个插件postgres-heroku,它会生成一个具有随机值的DATABASE_URL变量。现在,我想将此值设置为.env文件中的真实DATABASE_URL。

命令--------“ heroku config:set DATABASE_URL = ****”出现问题...

.env文件

# DATABASE PARAMETERS

    DATABASE_NAME = *****
    DATABASE_USER = postgres
    DATABASE_PASSWORD = ********
    DATABASE_PORT = 5432
    DATABASE_HOST = localhost
    DATABASE_DIALECT = postgres
    DATABASE_HOST_PROD= 172.17.0.1
    
    export DATABASE_URL= postgres://postgres:*******@localhost:5432/*****

database.yml文件

# For dev 

   development:

# For prod
 
   production:

     adapter: postgresql
     encoding: unicode
     database: ENV['DATABASE_NAME']
     pool: 5
     username: ENV['DATABASE_USER']
     url: ENV['DATABASE_URL']
     password: ENV['DATABASE_PASSWORD']
     host: ENV['DATABASE_HOST']

体系结构:

 >config
 >models
 >node_modules
 >routes
 >services
 .env
 app.js
 database.yml
 package_lock.json
 package.json
 Procfile

如有需要,请随时询问一些代码。 我真的真的真的需要您的帮助...

谢谢

2 个答案:

答案 0 :(得分:0)

您将必须为您在Heroku上的项目添加Config Vars中的内容。 在Heroku>设置>显示配置变量中转到项目

在此处添加所有相关的生产环境变量。

答案 1 :(得分:0)

您需要分解DATABASE_URL,以便可以添加用于本地的变量。格式如下

数据库驱动程序:/用户名:密码@主机:端口/数据库名称

您不能在heroku上更改DATABASE_URL。