41 lines
2.8 KiB
TypeScript
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');`);
|
|
}
|
|
|
|
}
|