diff --git a/database/entity/Member.ts b/database/entity/Member.ts index 246c320..31492d1 100644 --- a/database/entity/Member.ts +++ b/database/entity/Member.ts @@ -1,4 +1,14 @@ -import {Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, Unique} from "typeorm" +import { + Entity, + PrimaryGeneratedColumn, + Column, + CreateDateColumn, + UpdateDateColumn, + Unique, + ManyToOne, + JoinColumn +} from "typeorm" +import {System} from "./System"; @Entity({name: "Member", synchronize: true}) @Unique("UQ_Member_userid_name", ['userid', 'name']) @@ -10,6 +20,10 @@ export class Member { @Column() userid: string + @ManyToOne(() => System, (system) => system.id, {eager: true, orphanedRowAction: "delete"}) + @JoinColumn({ name: "systemid" }) + system: System + @Column({ length: 100 }) diff --git a/database/migrations/1773756156389-update.ts b/database/migrations/1773756156389-update.ts new file mode 100644 index 0000000..fb2c8d0 --- /dev/null +++ b/database/migrations/1773756156389-update.ts @@ -0,0 +1,16 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class Update1773756156389 implements MigrationInterface { + name = 'Update1773756156389' + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "Member" ADD "systemid" integer`); + await queryRunner.query(`ALTER TABLE "Member" ADD CONSTRAINT "FK_Member_System" FOREIGN KEY ("systemid") REFERENCES "System"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "Member" DROP CONSTRAINT "FK_Member_System"`); + await queryRunner.query(`ALTER TABLE "Member" DROP COLUMN "systemid"`); + } + +} diff --git a/package.json b/package.json index f1ad708..89d81db 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,8 @@ "test": "jest", "start": "ts-node src/bot.js", "new-migration": "typeorm-ts-node-commonjs migration:create database/migrations/update", - "generate-db": "typeorm-ts-node-commonjs migration:generate -d database/data-source.ts database/migrations/update", + "revert-migration": "typeorm-ts-node-commonjs migration:revert -d database/data-source.ts", + "generate-migration": "typeorm-ts-node-commonjs migration:generate -d database/data-source.ts database/migrations/update", "run-migration": "typeorm-ts-node-commonjs migration:run -d database/data-source.ts" } }