【问题标题】:How to connect to the database using .env inside typeorm如何在 typeorm 中使用 .env 连接到数据库
【发布时间】:2021-03-04 20:45:47
【问题描述】:

我尝试使用ormconfig.js 连接数据库并创建.env,但出现错误:

错误:连接 ECONNREFUSED 127.0.0.1:3000 在 TCPConnectWrap.afterConnect [as oncomplete] (net.js: 1141: 16) ORMCONFIG.JS

errno:'ECONNREFUSED',代码:'ECONNREFUSED',系统调用:'connect', 地址:'127.0.0.1',端口:3000,致命:真}

module.exports = {
"type": process.env.TYPEORM_CONNECTION,
"url" : process.env.DATABASE_URL,
"host": process.env.TYPEORM_HOST,
"port": process.env.TYPEORM_PORT,
"username": process.env.TYPEORM_USERNAME,
"password": process.env.TYPEORM_PASSWORD,
"database": process.env.TYPEORM_DATABASE,
"synchronize": process.env.TYPEORM_SYNCHRONIZE,
"logging": process.env.TYPEORM_LOGGING,
"entities": [
   "dist/entity/**/*.ts"
],
"migrations": [
   "dist/migration/**/*.ts"
],
"subscribers": [
   "dist/subscriber/**/*.ts"
],
"cli": {
   "entitiesDir": "src/entity",
   "migrationsDir": "src/migration",
   "subscribersDir": "src/subscriber"
}}

.env

DATABASE_URL= http://root:@localhost:3000
TYPEORM_CONNECTION = mysql
TYPEORM_HOST = localhost
TYPEORM_USERNAME = root
TYPEORM_PASSWORD = 
TYPEORM_DATABASE = login_controlaccess
TYPEORM_PORT = 3000
TYPEORM_SYNCHRONIZE = true
TYPEORM_LOGGING = true

index.js

import "reflect-metadata";
import * as dotenv from 'dotenv';
import {createConnection} from "typeorm";
import * as express from "express";
import {Request, Response} from "express";
import * as cors from 'cors';
import * as helmet from  'helmet';
import routes from './routers';
dotenv.config();
const PORT= process.env.TYPEORM_PORT || 3000;


createConnection().then(async () => {

    // create express app
       const app = express();
    //middleware
      app.use(cors());
      app.use(helmet());
      app.use(express.json());
     //ROuter
      app.use('/', routes); 
    // start express server
    app.listen(PORT, ()=> console.log(`server running in port ${PORT}`));


    })
    .catch(error => console.log(error));

【问题讨论】:

    标签: mysql node.js typescript express typeorm


    【解决方案1】:

    您在从typeorm 导入后调用dotenv.config(),您可能需要先这样做。

    另外,请注意您需要在.env ormconfig.js 中配置这些环境变量,您已将它们包含在两者中。

    【讨论】:

      猜你喜欢
      • 2022-11-19
      • 2018-05-09
      • 2021-05-26
      • 2023-01-04
      • 2019-07-10
      • 2023-03-25
      • 2020-11-25
      • 2020-04-25
      • 2020-12-20
      相关资源
      最近更新 更多