33 lines
1.3 KiB
TypeScript
33 lines
1.3 KiB
TypeScript
|
import { MigrationInterface, QueryRunner, TableColumn } from "typeorm";
|
||
|
import { getDefaultByORM, getTypeByORM } from "./ormHelper";
|
||
|
|
||
|
export class UserLoginRoutine1746252454922 implements MigrationInterface {
|
||
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||
|
let users = await queryRunner.manager.getRepository("user").find({ select: ["id", "secret"] });
|
||
|
|
||
|
await queryRunner.dropColumns("user", ["secret", "static"]);
|
||
|
|
||
|
await queryRunner.addColumns("user", [
|
||
|
new TableColumn({ name: "secret", ...getTypeByORM("text") }),
|
||
|
new TableColumn({ name: "routine", ...getTypeByORM("varchar") }),
|
||
|
]);
|
||
|
|
||
|
await queryRunner.manager.getRepository("user").save(users.map((u) => ({ id: u.id, secret: u.secret })));
|
||
|
}
|
||
|
|
||
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
||
|
let users = await queryRunner.manager.getRepository("user").find({ select: ["id", "secret"] });
|
||
|
|
||
|
await queryRunner.dropColumn("user", "secret");
|
||
|
|
||
|
await queryRunner.addColumns("user", [
|
||
|
new TableColumn({ name: "secret", ...getTypeByORM("varchar") }),
|
||
|
new TableColumn({ name: "static", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) }),
|
||
|
]);
|
||
|
|
||
|
await queryRunner.manager.getRepository("user").save(users.map((u) => ({ id: u.id, secret: u.secret })));
|
||
|
|
||
|
await queryRunner.dropColumn("user", "routine");
|
||
|
}
|
||
|
}
|