require("dotenv").config(); const fs = require("fs").promises; const path = require("path"); const mongoose = require("mongoose"); const connectDB = require("../config/database"); const Programme = require("../models/programme"); /** * Seed / upsert all programmes from data/programmes.json into MongoDB. * Run: node scripts/2026_04_20_150000_seed_programmes.js */ async function migrate() { try { await connectDB(); console.log("Connected to MongoDB"); const jsonPath = path.join(__dirname, "../data/programmes.json"); const raw = await fs.readFile(jsonPath, "utf8"); const data = JSON.parse(raw); if (!Array.isArray(data)) { throw new Error("data/programmes.json must be a JSON array"); } const results = await Programme.migrateFromJson(data); console.log("Programme migration completed:"); results.forEach((r) => console.log(` [${r.action}] id=${r.id}`)); await mongoose.disconnect(); process.exit(0); } catch (error) { console.error("Programme migration error:", error.message); process.exit(1); } } if (require.main === module) { migrate(); } module.exports = { migrate };