【问题标题】:TypeOrm Tree solution for migrations用于迁移的 TypeOrm 树解决方案
【发布时间】:2020-06-18 02:56:07
【问题描述】:

我正在尝试在 TypeORM 中创建 Tree 结构,现在我正在尝试添加迁移文件

这是我的树结构:

import {
    Entity,
    Column,
    PrimaryGeneratedColumn,
    OneToMany,
    CreateDateColumn,
    Tree,
    TreeChildren,
    TreeParent,
} from 'typeorm';

@Entity('tree')
@Tree('materialized-path')
export class Tree {
    @PrimaryGeneratedColumn({ name: 'id', type: 'integer' })
    id: number;


    @Column()
    name: string;


    @CreateDateColumn({ type: 'timestamptz' })
    createdAt: string;

    @TreeChildren()
    children: AssetType[];

    @TreeParent()
    parent: AssetType;

}

我的问题是我现在应该如何为从 TypeORM 导入的树创建迁移文件?

【问题讨论】:

    标签: node.js postgresql typeorm


    【解决方案1】:

    我使用 TypeORM Cli 生成迁移

    使用的命令:typeorm migration:generate,如下所述:

    https://github.com/typeorm/typeorm/blob/master/docs/migrations.md#generating-migrations

    它创建了以下迁移:

    await queryRunner.query(
        `CREATE TABLE
            "table_name"
            (
                "id" SERIAL NOT NULL,
                "name" character varying NOT NULL
                "mpath" character varying DEFAULT '',
                "parentId" integer,
                CONSTRAINT "PK_9b5ee2748943131ed9d9831e8c9" PRIMARY KEY ("id")
            )`,
        undefined
    );
    await queryRunner.query(
        `ALTER TABLE
            "table_name"
        ADD CONSTRAINT "FK_9da62161e3c7bc51981ff7fa1da"
        FOREIGN KEY ("parentId") REFERENCES "table_name"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
        undefined
    );
    

    【讨论】:

      猜你喜欢
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-01
      • 1970-01-01
      相关资源
      最近更新 更多