如何从 Nest.js 连接到 Heroku Postgres?
Posted
技术标签:
【中文标题】如何从 Nest.js 连接到 Heroku Postgres?【英文标题】:How do I connect to Heroku Postgres from Nest.js? 【发布时间】:2021-01-25 01:31:12 【问题描述】:在运行heroku config
时我看到了(有一些遗漏)
DATABASE_URL: postgres://<xxxx>:<xxxx>@ec2-xx-xx-xxx-xx.compute-1.amazonaws.com:5432/dm74hmu71b97n
我知道的格式是postgres://<user>:<password>@<hostname>:<port>/<database>
。但现在在我的 Nest.JS 应用程序中,我像这样连接到 postgres:
@Module(
imports: [
TypeOrmModule.forRootAsync(
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (configService: ConfigService) => (
type: 'postgres',
host: configService.get('POSTGRES_HOST'),
port: configService.get('POSTGRES_PORT'),
username: configService.get('POSTGRES_USER'),
password: configService.get('POSTGRES_PASSWORD'),
database: configService.get('POSTGRES_DB'),
entities: [__dirname + '/../**/*.entity.ts,.js'],
synchronize: false,
),
),
],
)
export class DatabaseModule
我想我可以手动解析 process.env.DATABASE_URL
我想一定有更好/更简单的方法。
【问题讨论】:
【参考方案1】:useFactory: (configService: ConfigService) => (
url: configService.get('DATABASE_URL'),
type: 'postgres',
entities: [__dirname + '/../**/*.entity.ts,.js'],
synchronize: false,
),
【讨论】:
以上是关于如何从 Nest.js 连接到 Heroku Postgres?的主要内容,如果未能解决你的问题,请参考以下文章
Nest.js TypeORM 连接到本地数据库(在 docker 容器上)
如何在 Heroku 中将 Kafka 连接到 Postgres