Sửa lỗi đăng nhập vào admin mà không reload được page do lỗi tạo scene trước đó, sử dụng lệnh resetDB.js để khởi tạo lại, xóa các scene trước và ảnh đã upload

This commit is contained in:
2026-06-08 10:48:54 +07:00
parent 81de520071
commit c495efad36
25 changed files with 290 additions and 47 deletions
+53
View File
@@ -0,0 +1,53 @@
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();