design request

This commit is contained in:
2026-06-07 12:25:35 +03:30
parent aa0cc0a190
commit 968b12c4ff
8 changed files with 508 additions and 440 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,17 @@
import { Migration } from '@mikro-orm/migrations';
export class Migration20260607075945_addIndexToCatalogue extends Migration {
override async up(): Promise<void> {
this.addSql(`create index "catalogue_slug_index" on "catalogue" ("slug");`);
this.addSql(`create index "catalogue_business_id_id_index" on "catalogue" ("business_id");`);
this.addSql(`create unique index "catalogue_business_id_id_slug_unique" on "catalogue" ("business_id", slug);`);
}
override async down(): Promise<void> {
this.addSql(`drop index "catalogue_slug_index";`);
this.addSql(`drop index "catalogue_business_id_id_index";`);
this.addSql(`drop index "catalogue_business_id_id_slug_unique";`);
}
}
@@ -1,15 +1,18 @@
import { Migration } from '@mikro-orm/migrations';
export class Migration20260607075148_addRequestDesign extends Migration {
export class Migration20260607123000_addDesignRequests extends Migration {
override async up(): Promise<void> {
this.addSql(`create table "design_requests" ("id" char(26) not null, "created_at" timestamptz not null default now(), "updated_at" timestamptz not null default now(), "deleted_at" timestamptz null, "title" varchar(255) not null, "count" int not null default 1, "desc" text null, "expected_date" timestamptz null, "attachments" jsonb not null default '[]', "invoice_id" uuid not null, "paid_at" timestamptz null, "business_id" char(26) not null, constraint "design_requests_pkey" primary key ("id"));`);
this.addSql(`create index "design_requests_created_at_index" on "design_requests" ("created_at");`);
this.addSql(`create index "design_requests_deleted_at_index" on "design_requests" ("deleted_at");`);
this.addSql(`create index "design_requests_business_id_id_index" on "design_requests" (("business_id"->>'id'));`);
this.addSql(`create index "design_requests_business_id_id_index" on "design_requests" ("business_id");`);
this.addSql(`create index "design_requests_invoice_id_index" on "design_requests" ("invoice_id");`);
this.addSql(`alter table "design_requests" add constraint "design_requests_business_id_foreign" foreign key ("business_id") references "business" ("id") on update cascade on delete restrict;`);
}
override async down(): Promise<void> {
this.addSql(`drop table if exists "design_requests" cascade;`);
}
}