diff --git a/scripts/seedDatabase.txt b/scripts/seedDatabase.txt deleted file mode 100644 index c407b41..0000000 --- a/scripts/seedDatabase.txt +++ /dev/null @@ -1,92 +0,0 @@ -require("dotenv").config(); -const mongoose = require("mongoose"); -const fs = require("fs"); -const path = require("path"); - -// Import models -const About = require("../models/aboutUs"); -const Blog = require("../models/blog"); -const Service = require("../models/service"); -const Contact = require("../models/contact"); -const Footer = require("../models/footer"); -const Header = require("../models/header"); -const HeaderMenu = require("../models/headerMenu"); -const Home = require("../models/home"); -const FAQ = require("../models/faq"); -const Visa = require("../models/visa"); -const Appointment = require("../models/appointment"); -const Pricing = require("../models/pricing"); -const Activity = require("../models/activity"); - -// Data mapping -const dataMap = { - about: { model: About, file: "about.json" }, - blog: { model: Blog, file: "blog.json" }, - service: { model: Service, file: "service.json" }, - contact: { model: Contact, file: "contact.json" }, - footer: { model: Footer, file: "footer.json" }, - header: { model: Header, file: "header.json" }, - headerMenu: { model: HeaderMenu, file: "header-menu.json" }, - home: { model: Home, file: "home.json" }, - faq: { model: FAQ, file: "faq-data.json" }, - visa: { model: Visa, file: "visa.json" }, - appointment: { model: Appointment, file: "appointment.json" }, - pricing: { model: Pricing, file: "pricing.json" }, -}; - -const seedDatabase = async () => { - try { - // Kết nối MongoDB - if (!process.env.MONGODB_URI) { - throw new Error("MONGODB_URI is not defined in environment variables"); - } - - console.log("🔗 Connecting to MongoDB..."); - await mongoose.connect(process.env.MONGODB_URI); - console.log("✅ MongoDB Connected"); - - // Seed từng collection - for (const [key, config] of Object.entries(dataMap)) { - try { - const jsonPath = path.join(__dirname, "../data", config.file); - - if (!fs.existsSync(jsonPath)) { - console.warn(`⚠️ ${config.file} không tồn tại, bỏ qua...`); - continue; - } - - const rawData = fs.readFileSync(jsonPath, "utf8"); - const jsonData = JSON.parse(rawData); - - if (Array.isArray(jsonData)) { - // Nếu là array, xóa tất cả và thêm mới - await config.model.deleteMany({}); - await config.model.insertMany(jsonData); - console.log(`✅ Seeded ${key} (${jsonData.length} items)`); - } else { - // Nếu là object, dùng upsert - await config.model.findOneAndUpdate({}, jsonData, { - upsert: true, - new: true, - setDefaultsOnInsert: true - }); - console.log(`✅ Seeded ${key}`); - } - } catch (error) { - console.error(`❌ Error seeding ${key}:`, error.message); - } - } - - console.log("🎉 Database seeding completed successfully!"); - - } catch (error) { - console.error("❌ Seeding failed:", error.message); - process.exit(1); - } finally { - await mongoose.connection.close(); - console.log("👋 Database connection closed"); - process.exit(0); - } -}; - -seedDatabase();