Files
negareh-api/database/migrations/Migration20260404112450.ts
T
2026-04-04 15:24:29 +03:30

41 lines
2.8 KiB
TypeScript

import { Migration } from '@mikro-orm/migrations';
export class Migration20260404112450 extends Migration {
override async up(): Promise<void> {
this.addSql(`alter table "invoices" alter column "invoice_number" type int using ("invoice_number"::int);`);
this.addSql(`alter table "invoices" alter column "discount" type int using ("discount"::int);`);
this.addSql(`alter table "invoices" alter column "discount" set not null;`);
this.addSql(`alter table "invoices" alter column "sub_total" type int using ("sub_total"::int);`);
this.addSql(`alter table "invoices" alter column "sub_total" set not null;`);
this.addSql(`alter table "invoices" alter column "tax_amount" type int using ("tax_amount"::int);`);
this.addSql(`alter table "invoices" alter column "tax_amount" set not null;`);
this.addSql(`alter table "invoices" alter column "total" type int using ("total"::int);`);
this.addSql(`alter table "invoices" alter column "total" set not null;`);
this.addSql(`alter table "invoices" alter column "balance" drop default;`);
this.addSql(`alter table "invoices" alter column "balance" type int using ("balance"::int);`);
this.addSql(`alter table "invoices" alter column "invoice_number" drop default;`);
this.addSql(`alter table "invoices" add constraint "invoices_invoice_number_unique" unique ("invoice_number");`);
}
override async down(): Promise<void> {
this.addSql(`alter table "invoices" drop constraint "invoices_invoice_number_unique";`);
this.addSql(`alter table "invoices" alter column "invoice_number" type int using ("invoice_number"::int);`);
this.addSql(`alter table "invoices" alter column "discount" type int using ("discount"::int);`);
this.addSql(`alter table "invoices" alter column "discount" drop not null;`);
this.addSql(`alter table "invoices" alter column "sub_total" type int using ("sub_total"::int);`);
this.addSql(`alter table "invoices" alter column "sub_total" drop not null;`);
this.addSql(`alter table "invoices" alter column "tax_amount" type int using ("tax_amount"::int);`);
this.addSql(`alter table "invoices" alter column "tax_amount" drop not null;`);
this.addSql(`alter table "invoices" alter column "total" type int using ("total"::int);`);
this.addSql(`alter table "invoices" alter column "total" drop not null;`);
this.addSql(`alter table "invoices" alter column "balance" type int using ("balance"::int);`);
this.addSql(`alter table "invoices" alter column "balance" set default 0;`);
this.addSql(`create sequence if not exists "invoices_invoice_number_seq";`);
this.addSql(`select setval('invoices_invoice_number_seq', (select max("invoice_number") from "invoices"));`);
this.addSql(`alter table "invoices" alter column "invoice_number" set default nextval('invoices_invoice_number_seq');`);
}
}