当前位置: 首页 > 知识库问答 >
问题:

前端 - typeorm如何生成默认数据的migration?

何海
2023-08-11
export class Init1684122178932 implements MigrationInterface {    name = 'Init1684122178932'    public async up(queryRunner: QueryRunner): Promise<void> {        await queryRunner.query(`CREATE TABLE \`role\` (\`id\` int NOT NULL AUTO_INCREMENT, \`roleName\` varchar(255) NOT NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);        // 手写插入语句    }    public async down(queryRunner: QueryRunner): Promise<void> {        await queryRunner.query(`DROP TABLE \`role\``);    }}

如果要手写,有没有sql编辑器,能够生成像上面sql一样的带转义符号的语句,而不是自己全部手写

共有1个答案

胡国兴
2023-08-11
import {MigrationInterface, QueryRunner} from "typeorm";export class Init1684122178932 implements MigrationInterface {    name = 'Init1684122178932'    public async up(queryRunner: QueryRunner): Promise<void> {        await queryRunner.query(`CREATE TABLE \`role\` (\`id\` int NOT NULL AUTO_INCREMENT, \`roleName\` varchar(255) NOT NULL, PRIMARY KEY (\`id\`)) ENGINE=InnoDB`);        // 插入默认数据        await queryRunner.query(`INSERT INTO \`role\` (\`roleName\`) VALUES ('Admin')`);        await queryRunner.query(`INSERT INTO \`role\` (\`roleName\`) VALUES ('User')`);    }    public async down(queryRunner: QueryRunner): Promise<void> {        await queryRunner.query(`DROP TABLE \`role\``);    }}
 类似资料:
  • 我的API定义如下: 我们使用生成代码。 生成的API参数:

  • 龙目岛的版本是1.18.0。 我在类级别设置了。 当我尝试为列表变量设置默认值时: 我得到一个错误: 除了自己编写生成器之外,还有其他方法吗?

  • 目前,我正在将新的JPA实体映射到旧的数据库。数据库中的列名用下划线分隔,如'my_column_name'。 问题是JPA默认使用with camel case。 我知道可以添加@column(Name=“..”)或@JoinColumn(Name=“...”)属性-但这意味着我必须将它添加到所有实体中的每个属性中。 是否可以更改JPA的默认行为,使用'my_column_name'而不是'my

  • 我想不出如何使用TypeOrm查询生成器编写以下MySql语句 从farm.reg中选择reg.id,其中grpId=“abc”; 这个选择返回的只是ID的,但我的查询生成器返回的是整个对象。 现在,我在我的NestJs服务中有这个函数,但我需要使用'map',我不想… 谢谢

  • 有这么一个service,需要在onModuleInit方法里对数据库的表进行操作,但是 onModuleInit 一直无法触发,就算在main.ts里手动触发 onModuleInit 方法也没法拿到 detailRepository 实例,请问要如何解决,或者有什么方式可以实现这个场景吗? test.service.ts 代码如下 test.module.ts 代码如下 app.module.