fix(scripts): commented migration script

This commit is contained in:
Matthieu Haineault 2026-01-13 09:19:12 -05:00
parent 052cebe003
commit d414670d80

View File

@ -1,79 +1,79 @@
import { PrismaClient as Prisma } from "@prisma/client"; // import { PrismaClient as Prisma } from "@prisma/client";
import { PrismaClient as PrismaLegacy } from "@prisma/client-legacy" // import { PrismaClient as PrismaLegacy } from "@prisma/client-legacy"
const prisma_legacy = new PrismaLegacy({}); // const prisma_legacy = new PrismaLegacy({});
const prisma = new Prisma({}); // const prisma = new Prisma({});
export const initSupervisor = async () => { // export const initSupervisor = async () => {
const list_of_employees = await prisma.employees.findMany(); // const list_of_employees = await prisma.employees.findMany();
for (const employee of list_of_employees) { // for (const employee of list_of_employees) {
console.log('Start of supervisor checking for employee: ', employee.id); // console.log('Start of supervisor checking for employee: ', employee.id);
//finds in old db employee supervisor's infos // //finds in old db employee supervisor's infos
const old_employee = await prisma_legacy.employees.findFirst({ // const old_employee = await prisma_legacy.employees.findFirst({
where: { // where: {
company: employee.company_code, // company: employee.company_code,
employee_number: (employee.external_payroll_id).toString(), // employee_number: (employee.external_payroll_id).toString(),
}, // },
}); // });
if (!old_employee) { // if (!old_employee) {
console.warn('Old DB employee not found : ', employee.id); // console.warn('Old DB employee not found : ', employee.id);
continue; // continue;
} // }
if (!old_employee.supervisor) { // if (!old_employee.supervisor) {
console.warn('Old DB employee supervisor not found for employee:', old_employee.supervisor); // console.warn('Old DB employee supervisor not found for employee:', old_employee.supervisor);
continue; // continue;
} // }
//trims and split the supervisor name // //trims and split the supervisor name
const supervisor_full_name = old_employee.supervisor.trim(); // const supervisor_full_name = old_employee.supervisor.trim();
let supervisor_first_name = supervisor_full_name.split(/\s+/)[0]; // let supervisor_first_name = supervisor_full_name.split(/\s+/)[0];
let supervisor_last_name = supervisor_full_name.split(/\s+/)[1] || ''; // let supervisor_last_name = supervisor_full_name.split(/\s+/)[1] || '';
if (supervisor_first_name === '[default]') { // if (supervisor_first_name === '[default]') {
await prisma.employees.update({ // await prisma.employees.update({
where: { id: employee.id }, // where: { id: employee.id },
data: { supervisor_id: null }, // data: { supervisor_id: null },
}); // });
console.log('employee with [default] found: ', employee.id); // console.log('employee with [default] found: ', employee.id);
continue; // continue;
} // }
if (supervisor_first_name === '') { // if (supervisor_first_name === '') {
console.warn('No supervisor name found for employee: ', employee.id) // console.warn('No supervisor name found for employee: ', employee.id)
continue; // continue;
} // }
//finds employee id of supervisors // //finds employee id of supervisors
const supervisor = await prisma.users.findFirst({ // const supervisor = await prisma.users.findFirst({
where: { first_name: supervisor_first_name, last_name: supervisor_last_name }, // where: { first_name: supervisor_first_name, last_name: supervisor_last_name },
select: { // select: {
employee: { select: { id: true } }, // employee: { select: { id: true } },
} // }
}); // });
if (!supervisor) { // if (!supervisor) {
console.warn('No supervisor found: ', supervisor_first_name, '', supervisor_last_name) // console.warn('No supervisor found: ', supervisor_first_name, '', supervisor_last_name)
continue; // continue;
} // }
if (!supervisor.employee) { // if (!supervisor.employee) {
console.warn('No supervisor id found: ', supervisor_first_name, '', supervisor_last_name) // console.warn('No supervisor id found: ', supervisor_first_name, '', supervisor_last_name)
continue; // continue;
} // }
//updates the supervisor id // //updates the supervisor id
await prisma.employees.update({ // await prisma.employees.update({
where: { id: employee.id }, // where: { id: employee.id },
data: { // data: {
supervisor_id: supervisor.employee.id, // supervisor_id: supervisor.employee.id,
} // }
}); // });
await prisma.employees.update({ // await prisma.employees.update({
where: { id: supervisor.employee.id }, // where: { id: supervisor.employee.id },
data: { // data: {
is_supervisor: true, // is_supervisor: true,
} // }
}) // })
console.log('supervisor id : ', supervisor.employee.id); // console.log('supervisor id : ', supervisor.employee.id);
console.log('supervisor name : ', supervisor_first_name, '', supervisor_last_name); // console.log('supervisor name : ', supervisor_first_name, '', supervisor_last_name);
} // }
} // }