Nestjs从实体创建MySQL表问题

时间:2020-03-18 11:31:27

标签: nest nestjs typeorm

我在更改实体文件并且Nest / TypeOrm重新生成mysql表时遇到问题。它不反映我在实体文件中的内容

这是我的 user.entity.ts

import { BaseEntity, Entity, Column, Unique, PrimaryGeneratedColumn } from "typeorm";

@Entity()
@Unique(['id'])
export class User extends BaseEntity {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  uid: string;

  @Column()
  name: string;

  @Column()
  surname: string;

  @Column()
  email: string;

  @Column()
  skype: string;

  @Column()
  levelClassDone: boolean;

  @Column({default: 1, nullable: true})
  userType: number;
}

这是在mysql中创建的表的描述:

+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| name           | varchar(255) | NO   |     | NULL    |       |
| surname        | varchar(255) | NO   |     | NULL    |       |
| email          | varchar(255) | NO   | UNI | NULL    |       |
| uid            | varchar(255) | NO   |     | NULL    |       |
| skype          | varchar(255) | NO   |     | NULL    |       |
| levelClassDone | tinyint      | NO   |     | NULL    |       |
| userType       | int          | YES  |     | 1       |       |
| id             | varchar(255) | NO   | PRI | NULL    |       |
+----------------+--------------+------+-----+---------+-------+

id 不是数字,也不是 auto_increment

似乎正在缓存旧的user.entity.ts版本,其中我具有不同的字段规范。我试图删除表,也删除整个数据库。

1 个答案:

答案 0 :(得分:0)

在将TypeORM导入模块时,尝试为其提供<tr id="sai"> ....some data </tr> <button onclick="refresh()"> refresh</button> function refresh(){ $('#sai').load('#sai') } autoLoadEntities选项:

synchronize