typeorm如何生成插入默认数据的migration?

第一次上线,跑migration:generate生成建表语句。

create table...

但是表里的一些数据希望有默认值,比如一些常量。这个可以用generate生成sql的插入数据命令吗?
还是要自己去手写migration

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.8k
1 个回答
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 ('管理员')`);
        await queryRunner.query(`INSERT INTO \`role\` (\`roleName\`) VALUES ('用户')`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`DROP TABLE \`role\``);
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏