Files
leistungsbilanz-ts/scripts/db-migrate-legacy-consumers.ts
T

37 lines
1.3 KiB
TypeScript

import { CircuitListRepository } from "../src/db/repositories/circuit-list.repository.js";
import { ProjectRepository } from "../src/db/repositories/project.repository.js";
import { LegacyConsumerMigrationService } from "../src/domain/services/legacy-consumer-migration.service.js";
const projectRepository = new ProjectRepository();
const circuitListRepository = new CircuitListRepository();
const migrationService = new LegacyConsumerMigrationService();
async function run() {
const projects = await projectRepository.list();
const reports = [];
for (const project of projects) {
const lists = await circuitListRepository.listByProject(project.id);
for (const list of lists) {
const report = await migrationService.migrateCircuitList(project.id, list.id);
reports.push({
projectId: project.id,
circuitListId: list.id,
legacyConsumerCount: report.legacyConsumerCount,
createdCircuitCount: report.createdCircuitCount,
createdDeviceRowCount: report.createdDeviceRowCount,
generatedIdentifiers: report.generatedIdentifiers.length,
unassignedRows: report.unassignedRows.length,
});
}
}
console.log("Legacy consumer migration summary:");
console.table(reports);
}
run().catch((error) => {
console.error("Legacy consumer migration failed:", error);
process.exit(1);
});