如何在 heroku 上部署 postgres

How to deploy postgres on heroku

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

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

the commandes ----> "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

如果需要,请不要犹豫,索取一些代码。 我真的真的真的,需要你们的帮助...

谢谢

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

在那里添加所有相关的生产环境变量。

你需要分解DATABASE_URL以便你可以添加你用于local.The的变量格式是这样的

database_driver:/username:password@host:port/database_name

你不能在 heroku 上改变 DATABASE_URL。