Files

53 lines
1.9 KiB
JavaScript

const mongoose = require('mongoose');
const fs = require('fs');
const path = require('path');
const connectDB = require('../config/db');
const Scene = require('../models/Scene');
const Asset = require('../models/Asset');
const reset = async () => {
try {
console.log('--- Bắt đầu quá trình Reset Dữ liệu ---');
// 1. Kết nối Database
await connectDB();
// 2. Xóa bản ghi trong Database
console.log('1. Đang xóa dữ liệu trong MongoDB...');
const deletedScenes = await Scene.deleteMany({});
const deletedAssets = await Asset.deleteMany({});
console.log(`- Đã xóa ${deletedScenes.deletedCount} scenes.`);
console.log(`- Đã xóa ${deletedAssets.deletedCount} assets.`);
// 3. Dọn dẹp tệp tin vật lý
const uploadDir = path.join(__dirname, '../uploads');
const tempDir = path.join(uploadDir, 'temp');
console.log('2. Đang dọn dẹp thư mục uploads...');
const directories = [uploadDir, tempDir];
directories.forEach(dir => {
if (fs.existsSync(dir)) {
const files = fs.readdirSync(dir);
for (const file of files) {
const fullPath = path.join(dir, file);
// Chỉ xóa file, không xóa thư mục (như temp) và tránh xóa file ẩn/cấu hình
if (fs.lstatSync(fullPath).isFile() && !file.startsWith('.')) {
fs.unlinkSync(fullPath);
}
}
}
});
console.log('--- Hoàn tất reset hệ thống! ---');
// Đóng kết nối
mongoose.connection.close();
process.exit(0);
} catch (err) {
console.error('Lỗi nghiêm trọng trong quá trình reset:', err);
mongoose.connection.close();
process.exit(1);
}
};
reset();