Merge remote-tracking branch 'origin/main' into Emmanuel
Intègre la chaîne CI/CD et la dockerisation venues de main. Conflits sur backend/package-lock.json et frontend/package-lock.json : résolus en régénérant les deux lockfiles depuis les package.json fusionnés, qui réunissent les dépendances des deux branches (helmet, express-rate-limit, passport, passport-google-oauth20 côté Emmanuel ; jest-junit côté main). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
55
backend/src/scripts/initDatabase.js
Normal file
55
backend/src/scripts/initDatabase.js
Normal file
@@ -0,0 +1,55 @@
|
||||
const { execSync } = require("child_process");
|
||||
const prisma = require("../config/prisma");
|
||||
|
||||
async function main() {
|
||||
let lotCount = await prisma.lot.count();
|
||||
let ticketCount = await prisma.ticket.count();
|
||||
|
||||
console.log(`Lots présents : ${lotCount}`);
|
||||
console.log(`Tickets présents : ${ticketCount}`);
|
||||
|
||||
if (lotCount === 0) {
|
||||
console.log("Aucun lot trouvé : exécution du seed...");
|
||||
execSync("npx prisma db seed", {
|
||||
stdio: "inherit",
|
||||
env: process.env,
|
||||
});
|
||||
|
||||
lotCount = await prisma.lot.count();
|
||||
console.log(`Lots présents après seed : ${lotCount}`);
|
||||
} else {
|
||||
console.log("Les lots existent déjà : seed ignoré.");
|
||||
}
|
||||
|
||||
if (lotCount !== 5) {
|
||||
throw new Error(
|
||||
`Initialisation interrompue : 5 lots attendus, ${lotCount} trouvé(s).`
|
||||
);
|
||||
}
|
||||
|
||||
ticketCount = await prisma.ticket.count();
|
||||
|
||||
if (ticketCount === 0) {
|
||||
console.log("Aucun ticket trouvé : génération des tickets...");
|
||||
execSync("npm run generate:tickets", {
|
||||
stdio: "inherit",
|
||||
env: process.env,
|
||||
});
|
||||
|
||||
ticketCount = await prisma.ticket.count();
|
||||
console.log(`Tickets présents après génération : ${ticketCount}`);
|
||||
} else {
|
||||
console.log("Les tickets existent déjà : génération ignorée.");
|
||||
}
|
||||
|
||||
console.log("Initialisation de la base terminée.");
|
||||
}
|
||||
|
||||
main()
|
||||
.catch((error) => {
|
||||
console.error("Erreur pendant l'initialisation de la base :", error);
|
||||
process.exitCode = 1;
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
Reference in New Issue
Block a user