51 lines
1.8 KiB
TypeScript
51 lines
1.8 KiB
TypeScript
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
|
|
export class RevisedMigration1765488793696 implements MigrationInterface {
|
|
name = 'RevisedMigration1765488793696'
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
CREATE TABLE "links" (
|
|
"id" SERIAL NOT NULL,
|
|
"subdomain" character varying,
|
|
"shortUri" character varying NOT NULL,
|
|
"fullUrl" character varying NOT NULL,
|
|
"createDate" bigint NOT NULL,
|
|
"expiryDate" bigint,
|
|
"visits" bigint NOT NULL,
|
|
"privacy" boolean NOT NULL,
|
|
"authorId" integer,
|
|
CONSTRAINT "PK_ecf17f4a741d3c5ba0b4c5ab4b6" PRIMARY KEY ("id")
|
|
)
|
|
`);
|
|
await queryRunner.query(`
|
|
CREATE TABLE "users" (
|
|
"id" SERIAL NOT NULL,
|
|
"name" character varying NOT NULL,
|
|
"passwordHash" character varying NOT NULL,
|
|
"role" integer NOT NULL,
|
|
"createdAt" bigint NOT NULL,
|
|
CONSTRAINT "UQ_51b8b26ac168fbe7d6f5653e6cf" UNIQUE ("name"),
|
|
CONSTRAINT "PK_a3ffb1c0c8416b9fc6f907b7433" PRIMARY KEY ("id")
|
|
)
|
|
`);
|
|
await queryRunner.query(`
|
|
ALTER TABLE "links"
|
|
ADD CONSTRAINT "FK_c5287c1e74cbb62159104715543" FOREIGN KEY ("authorId") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION
|
|
`);
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
ALTER TABLE "links" DROP CONSTRAINT "FK_c5287c1e74cbb62159104715543"
|
|
`);
|
|
await queryRunner.query(`
|
|
DROP TABLE "users"
|
|
`);
|
|
await queryRunner.query(`
|
|
DROP TABLE "links"
|
|
`);
|
|
}
|
|
|
|
}
|