Files
dmenu-api/database/migrations/Migration20260701052836_optionalUserForOrder.ts
2026-07-01 09:47:58 +03:30

22 lines
1.1 KiB
TypeScript

import { Migration } from '@mikro-orm/migrations';
export class Migration20260701052836_optionalUserForOrder extends Migration {
override async up(): Promise<void> {
this.addSql(`alter table "orders" drop constraint "orders_user_id_foreign";`);
this.addSql(`alter table "orders" alter column "user_id" type char(26) using ("user_id"::char(26));`);
this.addSql(`alter table "orders" alter column "user_id" drop not null;`);
this.addSql(`alter table "orders" add constraint "orders_user_id_foreign" foreign key ("user_id") references "users" ("id") on update cascade on delete set null;`);
}
override async down(): Promise<void> {
this.addSql(`alter table "orders" drop constraint "orders_user_id_foreign";`);
this.addSql(`alter table "orders" alter column "user_id" type char(26) using ("user_id"::char(26));`);
this.addSql(`alter table "orders" alter column "user_id" set not null;`);
this.addSql(`alter table "orders" add constraint "orders_user_id_foreign" foreign key ("user_id") references "users" ("id") on update cascade;`);
}
}