mysql - NestJS typeorm - 无法创建实体

标签 mysql typescript docker nestjs typeorm

我正在尝试将一个 Idea 实体添加到我的 TypeOrm(配置为 mysql),但导入似乎无法正常工作。添加文件后,typeorm 未成功初始化。

我已经重新安装了 typeorm 包,但我不知道从哪里开始调试。我正在学习一个教程 ( https://www.youtube.com/watch?v=EHlhvy-fh90 ),其中没有出现此错误。我通过用 dockerized mysql 替换 postgresql 数据库来偏离它。

我在设置节点 -> mysql 连接时遇到了一些问题,最终选择运行 dockerized mysql 5 来解决身份验证错误(遵循此答案:https://stackoverflow.com/a/50167617/9043642)。如果没有 idea.entity.ts 文件,连接就会通过(使用 orm),所以我不认为数据库会出现问题。

这就是我的 idea.entity.ts 文件的样子。它有效地遵循文档 (https://docs.nestjs.com/techniques/database) 中的示例。复制并粘贴,文档示例仍然给出相同的错误。

import {
  Entity,
  PrimaryGeneratedColumn,
  Column,
  CreateDateColumn,
} from 'typeorm';

@Entity()
export class IdeaEntity {
  @PrimaryGeneratedColumn('uuid') id:string;

  @CreateDateColumn() created:Date;

  @Column('text') idea:string;

  @Column('text') description:string;
}

运行时出现如下错误

[Nest] 14034   - 07/02/2019, 1:00 PM   [TypeOrmModule] Unable to connect to the database. Retrying (1)... +19ms
[0] /home/miko/node/ideas/src/idea/idea.entity.ts:2
[0] import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
[0]        ^
[0] 
[0] SyntaxError: Unexpected token {
[0]     at Module._compile (internal/modules/cjs/loader.js:718:23)
[0]     at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
[0]     at Module.load (internal/modules/cjs/loader.js:641:32)
[0]     at Function.Module._load (internal/modules/cjs/loader.js:556:12)
[0]     at Module.require (internal/modules/cjs/loader.js:681:19)
[0]     at require (internal/modules/cjs/helpers.js:16:16)
[0]     at Function.PlatformTools.load (/home/miko/node/ideas/node_modules/typeorm/platform/PlatformTools.js:107:28)
[0]     at /home/miko/node/ideas/node_modules/typeorm/util/DirectoryExportedClassesLoader.js:30:69
[0]     at Array.map (<anonymous>)
[0]     at Object.importClassesFromDirectories (/home/miko/node/ideas/node_modules/typeorm/util/DirectoryExportedClassesLoader.js:30:10)

值得注意的是,数据库连接失败了。同样,如果没有 idea 实体存在,连接就很好。预期结果是 [InstanceLoader] TypeOrmCoreModule dependencies initialized。我如何才能成功创建这样的实体?

最佳答案

最终成为一个困惑的 ormconfig.json 文件。确保它遵循以下格式:https://github.com/nestjs/nest/blob/master/integration/typeorm/ormconfig.json

关于mysql - NestJS typeorm - 无法创建实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56857479/

相关文章:

相当于 mysql char 的 JavaScript

node.js - 映射Docker端口失败

docker - 如何将命令行参数传递给在 docker 中运行的 python 脚本

docker - dockerd关闭时,docker日志记录驱动程序能否继续工作? (启用实时还原)

mysql - 在哪里可以找到 mysql 启动变量的设置位置?

mysql - 每5分钟更换150万行数据集

当我尝试迭代 ngFor 循环时,Angular 2+ attr.disabled 不适用于 div

javascript - 从内部返回函数返回时管道不是函数

php - 如何从分组表中选择需要排序的多个值

angular - 除了 app.component 的 ngOninit 之外,在哪里放置 api 调用以使系统等待响应返回并注入(inject)到主体中?