Agent/server/scripts/migrate-p45.js

39 lines
1.2 KiB
JavaScript

'use strict';
const db = require('../src/infra/db');
async function main() {
await db.execute(
`CREATE TABLE IF NOT EXISTS export_jobs (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
job_uuid CHAR(36) NOT NULL,
export_type VARCHAR(32) NOT NULL,
params JSON NULL,
status ENUM('queued','processing','completed','failed','expired') NOT NULL DEFAULT 'queued',
progress INT NOT NULL DEFAULT 0,
requested_by BIGINT NOT NULL,
file_name VARCHAR(255) NULL,
file_path VARCHAR(1024) NULL,
mime_type VARCHAR(128) NULL,
file_size BIGINT NULL,
file_hash CHAR(64) NULL,
error VARCHAR(1000) NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
started_at DATETIME NULL,
completed_at DATETIME NULL,
expires_at DATETIME NULL,
UNIQUE KEY uk_job_uuid (job_uuid),
KEY idx_requested_created (requested_by, created_at),
KEY idx_status_expires (status, expires_at)
) ENGINE=InnoDB`,
);
console.log('P4.5 schema ready: export_jobs');
}
main()
.catch((error) => {
console.error(error);
process.exitCode = 1;
})
.finally(() => db.close());