如何使用 typeorm 实体使用 mysql 中的现有表?

Ell*_*rro 7 javascript mysql node.js express typeorm

使用 typeorm,我连接到 mysql 数据库。数据库中已存在多个表。我尝试使用实体模块描述表,但我的定义覆盖了现有表。我如何使用实体完全从现有表继承?

import "reflect-metadata";
import { Entity, PrimaryGeneratedColumn, Column, PrimaryColumn, OneToMany } from "typeorm";

@Entity("devices")
export class Devices {
    @PrimaryGeneratedColumn()
    ID: number;

    @Column({ type: "varchar", length: 255 })
    Name: string;

    @Column({ type: "int", nullable: false })
    DevID: number;

    @Column({ type: "int", nullable: false })
    Longtitude: number;

    @Column({ type: "int", nullable: false })
    Latitude: number;

    @PrimaryColumn({ type: "varchar", length: 255 })
    URL_VWS: string;
}
Run Code Online (Sandbox Code Playgroud)

小智 10

您可以使用 @Entity 将同步属性设置为 false,如下所示。

@Entity({name:"devices", synchronize: false})
Run Code Online (Sandbox Code Playgroud)


小智 2

在 ormconfig.json 中

改变

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

Run Code Online (Sandbox Code Playgroud)

{
  "type": "mysql",
  "host": "localhost",
  "port": 3306,
  "database": "demo",
  "username": "root",
  "entities": ["src/**/**.entity{.ts,.js}"],
  "synchronize": false
}

Run Code Online (Sandbox Code Playgroud)