mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-07 23:35:42 +00:00
45 lines
1.6 KiB
TypeScript
45 lines
1.6 KiB
TypeScript
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
|
|
/**
|
|
* Raises the per-field document ceiling from 10MB to 50MB.
|
|
*
|
|
* `max_size_mb` is what the portal enforces client-side (SmartFileInput blocks
|
|
* the file and shows "File size exceeds the limit of NMB"), so the seeded 10
|
|
* was the visible limit for every existing form even after the server-side caps
|
|
* were lifted. The seeder only writes these rows on first insert, so deployed
|
|
* environments keep their old value until this runs.
|
|
*
|
|
* Only rows still sitting at the old default are touched — a field an admin has
|
|
* deliberately tuned to something else keeps that value.
|
|
*/
|
|
export class RaiseDocumentUploadSizeLimit3380000000000
|
|
implements MigrationInterface
|
|
{
|
|
name = "RaiseDocumentUploadSizeLimit3380000000000";
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
ALTER TABLE freight.file_upload_fields
|
|
ALTER COLUMN max_size_mb SET DEFAULT 50
|
|
`);
|
|
await queryRunner.query(`
|
|
UPDATE freight.file_upload_fields
|
|
SET max_size_mb = 50
|
|
WHERE max_size_mb = 10
|
|
`);
|
|
}
|
|
|
|
/**
|
|
* Restores the column default only. The old per-row values are not
|
|
* recoverable (10 and an admin-chosen 10 are indistinguishable after `up`),
|
|
* and shrinking a customer's limit back down would reject documents they have
|
|
* already uploaded, so the rows are deliberately left at 50.
|
|
*/
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
ALTER TABLE freight.file_upload_fields
|
|
ALTER COLUMN max_size_mb SET DEFAULT 10
|
|
`);
|
|
}
|
|
}
|