首页 > 解决方案 > 尽管安装了 dotenv,node-pg-migration 仍未读取 .env 文件

问题描述

我正在使用 node-pg-migrate 并希望数据库名称、密码和架构来自 .env 文件,而不是配置文件。.env 文件未用作使用默认数据库。你能告诉我如何使用 .env 文件吗?

该应用程序使用 TypeScript。

NPM 脚本块

"scripts": {
    "migrate": "ts-node node_modules/.bin/node-pg-migrate  -j ts -m src/migrations",
    "start:build": "tsc -w",
    "start:run": "nodemon -r dotenv/config build/index.js",
    "start": "concurrently npm:start:*"
}

.env 存储在项目的根目录中并使用以下设置:

POSTGRES_PORT=5432
POSTGRES_DB='testdb'
POSTGRES_PASSWORD='somePass'
POSTGRES_USER='anon'
POSTGRES_SCHEMA='sch'

从 default.json 读取时,设置值工作正常

使用的版本:“typescript”:“^4.2.4”“node-pg-migrate”:“^5.9.0”“dotenv”:“^8.2.0”节点 14.16.0

非常感谢

标签: node.jsenvironment-variablesnode-pg-migrate

解决方案


.env 文件的内容只是设置环境变量。所以它的内容应该是这样的

DATABASE_URL=postgres://anon:somePass@localhost:5432/testdb

推荐阅读