const { PrismaClient } = require('@prisma/client') const prisma = new PrismaClient() async function clearAllCabinetsData() { try { console.log('🧹 ОЧИСТКА ДАННЫХ ВСЕХ КАБИНЕТОВ...') console.log('⚠️ Организации и пользователи НЕ УДАЛЯЮТСЯ') console.log('🗑️ Удаляются только данные внутри кабинетов') console.log('=' .repeat(50)) // 1. СКЛАДЫ И ПОСТАВКИ console.log('\n1️⃣ ОЧИСТКА СКЛАДОВ И ПОСТАВОК:') console.log(' 🗑️ Удаляем SupplyOrderItem...') const deletedOrderItems = await prisma.supplyOrderItem.deleteMany({}) console.log(` ✅ Удалено: ${deletedOrderItems.count}`) console.log(' 🗑️ Удаляем SupplyOrder...') const deletedOrders = await prisma.supplyOrder.deleteMany({}) console.log(` ✅ Удалено: ${deletedOrders.count}`) console.log(' 🗑️ Удаляем Supply (расходники на складах)...') const deletedSupplies = await prisma.supply.deleteMany({}) console.log(` ✅ Удалено: ${deletedSupplies.count}`) // 2. ТОВАРЫ ПОСТАВЩИКОВ console.log('\n2️⃣ ОЧИСТКА ТОВАРОВ ПОСТАВЩИКОВ:') console.log(' 🗑️ Удаляем Product (товары в каталогах поставщиков)...') const deletedProducts = await prisma.product.deleteMany({}) console.log(` ✅ Удалено: ${deletedProducts.count}`) // 3. УСЛУГИ ФУЛФИЛМЕНТА console.log('\n3️⃣ ОЧИСТКА УСЛУГ ФУЛФИЛМЕНТА:') console.log(' 🗑️ Удаляем Service (услуги)...') const deletedServices = await prisma.service.deleteMany({}) console.log(` ✅ Удалено: ${deletedServices.count}`) console.log(' 🗑️ Удаляем Logistics (логистические маршруты)...') const deletedLogistics = await prisma.logistics.deleteMany({}) console.log(` ✅ Удалено: ${deletedLogistics.count}`) // 4. СОТРУДНИКИ console.log('\n4️⃣ ОЧИСТКА СОТРУДНИКОВ:') console.log(' 🗑️ Удаляем Employee (сотрудники)...') const deletedEmployees = await prisma.employee.deleteMany({}) console.log(` ✅ Удалено: ${deletedEmployees.count}`) // 5. КОРЗИНЫ И ИЗБРАННОЕ console.log('\n5️⃣ ОЧИСТКА КОРЗИН И ИЗБРАННОГО:') console.log(' 🗑️ Удаляем CartItem...') const deletedCartItems = await prisma.cartItem.deleteMany({}) console.log(` ✅ Удалено: ${deletedCartItems.count}`) console.log(' 🗑️ Удаляем Cart...') const deletedCarts = await prisma.cart.deleteMany({}) console.log(` ✅ Удалено: ${deletedCarts.count}`) console.log(' 🗑️ Удаляем Favorite...') // Проверяем существование таблицы Favorite let deletedFavorites = { count: 0 } try { deletedFavorites = await prisma.favorite.deleteMany({}) } catch (error) { console.log(' ⚠️ Таблица Favorite не найдена, пропускаем') } console.log(` ✅ Удалено: ${deletedFavorites.count}`) // 6. РЕКЛАМА И СТАТИСТИКА console.log('\n6️⃣ ОЧИСТКА РЕКЛАМЫ И СТАТИСТИКИ:') console.log(' 🗑️ Удаляем ExternalAd (внешняя реклама)...') const deletedAds = await prisma.externalAd.deleteMany({}) console.log(` ✅ Удалено: ${deletedAds.count}`) // 7. СООБЩЕНИЯ console.log('\n7️⃣ ОЧИСТКА СООБЩЕНИЙ:') console.log(' 🗑️ Удаляем Message (сообщения в мессенджере)...') const deletedMessages = await prisma.message.deleteMany({}) console.log(` ✅ Удалено: ${deletedMessages.count}`) // 8. КЕШИ И ВСПОМОГАТЕЛЬНЫЕ ДАННЫЕ console.log('\n8️⃣ ОЧИСТКА КЕШЕЙ:') console.log(' 🗑️ Удаляем WBWarehouseCache...') const deletedWarehouseCache = await prisma.wBWarehouseCache.deleteMany({}) console.log(` ✅ Удалено: ${deletedWarehouseCache.count}`) console.log(' 🗑️ Удаляем SellerStatsCache...') const deletedStatsCache = await prisma.sellerStatsCache.deleteMany({}) console.log(` ✅ Удалено: ${deletedStatsCache.count}`) // 9. WILDBERRIES ПОСТАВКИ console.log('\n9️⃣ ОЧИСТКА ПОСТАВОК WILDBERRIES:') console.log(' 🗑️ Удаляем WildberriesSupplyItem...') let deletedWBItems = { count: 0 } try { deletedWBItems = await prisma.wildberriesSupplyItem.deleteMany({}) } catch (error) { console.log(' ⚠️ Таблица WildberriesSupplyItem не найдена, пропускаем') } console.log(` ✅ Удалено: ${deletedWBItems.count}`) console.log(' 🗑️ Удаляем WildberriesSupply...') let deletedWBSupplies = { count: 0 } try { deletedWBSupplies = await prisma.wildberriesSupply.deleteMany({}) } catch (error) { console.log(' ⚠️ Таблица WildberriesSupply не найдена, пропускаем') } console.log(` ✅ Удалено: ${deletedWBSupplies.count}`) // ИТОГИ console.log('\n' + '='.repeat(50)) console.log('✅ ОЧИСТКА ЗАВЕРШЕНА УСПЕШНО!') console.log('') console.log('🗑️ ЧТО БЫЛО УДАЛЕНО:') console.log(` 📦 Заказы поставок: ${deletedOrders.count}`) console.log(` 📋 Элементы заказов: ${deletedOrderItems.count}`) console.log(` 🏪 Расходники на складах: ${deletedSupplies.count}`) console.log(` 📦 Товары поставщиков: ${deletedProducts.count}`) console.log(` 🛠️ Услуги фулфилмента: ${deletedServices.count}`) console.log(` 🚚 Логистические маршруты: ${deletedLogistics.count}`) console.log(` 👥 Сотрудники: ${deletedEmployees.count}`) console.log(` 🛒 Корзины: ${deletedCarts.count}`) console.log(` 📋 Элементы корзин: ${deletedCartItems.count}`) console.log(` ❤️ Избранное: ${deletedFavorites.count}`) console.log(` 📢 Реклама: ${deletedAds.count}`) console.log(` 💬 Сообщения: ${deletedMessages.count}`) console.log(` 📊 Кеш WB: ${deletedWarehouseCache.count}`) console.log(` 📈 Кеш статистики: ${deletedStatsCache.count}`) console.log(` 📦 Поставки WB: ${deletedWBSupplies.count}`) console.log(` 📋 Элементы WB: ${deletedWBItems.count}`) console.log('\n✅ ЧТО ОСТАЛОСЬ НЕТРОНУТЫМ:') console.log(' 👤 Пользователи (User)') console.log(' 🏢 Организации (Organization)') console.log(' 🤝 Контрагенты (Counterparty)') console.log(' 📋 Запросы на партнерство (CounterpartyRequest)') console.log(' 📂 Категории товаров (Category)') console.log(' 🎖️ Рефералы и сферы (ReferralTransaction)') console.log(' 🔑 API ключи (MarketplaceApiKey)') console.log('\n🎯 РЕЗУЛЬТАТ:') console.log(' Все кабинеты очищены от данных') console.log(' Система готова для чистого тестирования') console.log(' Пользователи могут войти и начать работу заново') } catch (error) { console.error('❌ ОШИБКА при очистке:', error) console.error(' Детали:', error.message) } finally { await prisma.$disconnect() } } clearAllCabinetsData()