require("dotenv").config(); const fs = require("fs").promises; const path = require("path"); const connectDB = require("../config/database"); async function migrateSingletonPage({ migrationName, modelPath, dataFile, label, }) { try { await connectDB(); console.log(`๐Ÿš€ Starting migration: ${migrationName}...`); const Model = require(modelPath); console.log(`โœ… ${label} model registered successfully`); const dataPath = path.join(__dirname, "..", "data", dataFile); const raw = await fs.readFile(dataPath, "utf8"); const pageData = JSON.parse(raw); console.log(`๐Ÿ“– ${label} data loaded from: ${dataPath}`); await Model.deleteMany({}); console.log(`๐Ÿงน Existing ${label} documents cleared`); const created = await Model.create(pageData); console.log(`โœ… ${label} document created with _id: ${created._id.toString()}`); console.log(`๐ŸŽ‰ Migration ${migrationName} completed successfully.`); process.exit(0); } catch (error) { console.error(`โŒ Migration ${migrationName} failed:`, error); process.exit(1); } } module.exports = migrateSingletonPage;