TypeORM 在创建表后插入基本主数据(类型,状态,..)

问题描述 投票:0回答:3

我有问题要问你。我正在使用 NestJS 和 typeORM。我试图在创建表后将默认值插入到表中。例如,我有一个优先级表,我需要插入高/中/低值。我尝试了 typeorm 和 NestJS 文档中的所有内容,并从这里阅读了相关问题和答案。我还做不到。

import {getConnection} from "typeorm";

await getConnection()
    .createQueryBuilder()
    .insert()
    .into(User)
    .values([
        { firstName: "Timber", lastName: "Saw" }, 
        { firstName: "Phantom", lastName: "Lancer" }
     ])
    .execute();

我找到了上面的代码,我认为方法是这样的。但我找不到应该在哪个文件中使用此代码块。如果你帮助我,我会很高兴。谢谢。

typescript nestjs typeorm
3个回答
2
投票

您可以使用迁移使您的数据库保持最新。它们不仅可用于修改表,还可用于添加默认数据。 TypeORM 有一个机制可以做到这一点。


1
投票

我为此目的使用迁移。我们可以编写静态查询,也可以从 CSV 加载数据,然后循环将其保存到数据库中。

您可以使用

npx typeorm migration:create -n InsertMasterDataInDB

创建一个空迁移

然后你可以使用下面的查询来插入数据

await queryRunner.manager.query(INSERT QUERY HERE IN SINGLE QUOTES);

然后

npx typeorm migration:run


0
投票

如上所述,您可以使用迁移 理想的情况是使用播种器并在成功迁移后使用数据填充表

我建议使用 typeorm-seeding 包为此

迁移应仅包含对数据库结构的更改。尝试尽可能隔离数据库结构和实际数据播种。

© www.soinside.com 2019 - 2024. All rights reserved.