add new sms-queue
deploy to danak / build_and_deploy (push) Has been cancelled

This commit is contained in:
2026-07-01 20:26:00 +03:30
parent 91b67e0377
commit d2838f0976
9 changed files with 197 additions and 31 deletions
@@ -0,0 +1,40 @@
import { Migration } from '@mikro-orm/migrations';
export class Migration20260701170000_updateSmsLogsEntity extends Migration {
override async up(): Promise<void> {
this.addSql(`alter table "sms_logs" add column "count" int not null default 0;`);
this.addSql(`
with aggregated as (
select restaurant_id, count(*)::int as total_count
from sms_logs
group by restaurant_id
)
update sms_logs sl
set count = a.total_count
from aggregated a
where sl.restaurant_id = a.restaurant_id
and sl.id = (
select min(id) from sms_logs where restaurant_id = sl.restaurant_id
);
`);
this.addSql(`
delete from sms_logs sl1
using sms_logs sl2
where sl1.restaurant_id = sl2.restaurant_id
and sl1.id > sl2.id;
`);
this.addSql(`alter table "sms_logs" drop column "phone";`);
this.addSql(`alter table "sms_logs" add constraint "sms_logs_restaurant_id_unique" unique ("restaurant_id");`);
}
override async down(): Promise<void> {
this.addSql(`alter table "sms_logs" drop constraint if exists "sms_logs_restaurant_id_unique";`);
this.addSql(`alter table "sms_logs" add column "phone" varchar(255) not null default '';`);
this.addSql(`alter table "sms_logs" drop column "count";`);
}
}