【问题标题】:NestJs connection to MySql: Error Unable to connect to the databaseNestJs连接MySql:错误无法连接数据库
【发布时间】:2020-07-21 03:07:11
【问题描述】:

您好,我在将nestjs 连接到mysql 时遇到问题。 每次如果我改变连接方式都是不同的错误。 这是 conf.ts 中的一个

如果尝试使用 ocrmconfig.json

{
  "type": "mysql",
  "host": "localhost",
  "port": 3306,
  "username": "root",
  "password": "root",
  "database": "famby_app",
  "entities": ["dist/**/*.entity{.ts,.js}"],
  "synchronize": true,
  "logging": true
}



    [Nest] 27419   - 04/08/2020, 6:02:56 PM   [TypeOrmModule] Unable to connect to the database. Retrying (9)... +4032ms
/Applications/MAMP/htdocs/baby-app-nest/src/user/user.entity.ts:2
import { Entity, Unique, BaseEntity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from "typeorm";
       ^

SyntaxError: Unexpected token {
    at new Script (vm.js:79:7)
    at createScript (vm.js:251:10)
    at Object.runInThisContext (vm.js:303:10)
    at Module._compile (internal/modules/cjs/loader.js:657:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
[Nest] 27419   - 04/08/2020, 6:02:56 PM   [ExceptionHandler] Unexpected token { +1ms
/Applications/MAMP/htdocs/baby-app-nest/src/user/user.entity.ts:2
import { Entity, Unique, BaseEntity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from "typeorm";
       ^

SyntaxError: Unexpected token {
    at new Script (vm.js:79:7)
    at createScript (vm.js:251:10)
    at Object.runInThisContext (vm.js:303:10)
    at Module._compile (internal/modules/cjs/loader.js:657:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)

我的配置文件

    import { TypeOrmModuleOptions } from '@nestjs/typeorm';
import * as dotenv from 'dotenv';
import { UserEntity } from './user/user.entity';
import { join } from 'path';
import { ConnectionOptions } from 'typeorm';

export const typeOrmConfig: TypeOrmModuleOptions = {
  type: 'mysql',
  host: 'localhost',
  port: 3306,
  username: 'root',
  password: 'root',
  database: 'database_test',
  entities: [__dirname + '/../**/*.entity.{js,ts}'],
  synchronize: true,
  logging: true
};

我尝试了所有可能的方法:/

如果有和我一样的问题,有人可以帮助我吗? 谢谢!!!

【问题讨论】:

    标签: mysql typescript nestjs typeorm


    【解决方案1】:

    您正在尝试在节点中加载 ts 文件,这是不可能的。使用__dirname + '../**/*.entity.{js,ts} 行,您将从dist 返回根目录,然后加载.entity.ts.entity.js 的任何内容。因此,您的打字稿源文件正在加载,Node 无法正确解析这些文件。您应该从该 glob 中删除 ts,或者更好地过滤以仅查看您的 dist 目录(或者老实说,两者都是最好的)

    【讨论】:

    • 然后我收到此错误:“[TypeOrmModule] 无法连接到数据库。重试 (2)... +3184ms QueryFailedError: ER_DUP_KEYNAME: Duplicate key name 'IDX_415c35b9b3b6fe45a3b065030f' at new QueryFailedError (/Applications /MAMP/htdocs/baby-app-nest/node_modules/typeorm/error/QueryFailedError.js:11:28)"
    猜你喜欢
    • 2022-08-03
    • 2021-05-11
    • 2021-06-27
    • 2021-06-27
    • 2012-10-29
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 2020-06-25
    相关资源
    最近更新 更多