37 lines
1.3 KiB
TypeScript
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);
|
|
});
|