NestJs连接MySql:错误无法连接数据库
Posted
技术标签:
【中文标题】NestJs连接MySql:错误无法连接数据库【英文标题】:NestJs connection to MySql: Error Unable to connect to the database 【发布时间】: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
;
我尝试了所有可能的方法:/
如果有和我一样的问题,有人可以帮助我吗? 谢谢!!!
【问题讨论】:
【参考方案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)"以上是关于NestJs连接MySql:错误无法连接数据库的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 nestjs/mongoose 连接 mongoDB
无法将 MongoDB 与 NestJS ( Docker ) 连接
NestJS + MySQL:如何在不设置实体的情况下连接多个数据库
NestJs / Mongoose 在 Docker 撰写时无法建立 MongoDB 数据库连接
Dockerizing NestJS APP 和 MongoDB “首次连接时无法连接到服务器 [localhost:27017]”