const { PrismaClient } = require('@prisma/client') const prisma = new PrismaClient() async function cleanSupplyData() { try { console.log('🧹 ОЧИСТКА ДАННЫХ О ПОСТАВКАХ\n') console.log('=' .repeat(80)) // 1. Удаляем все заказы поставок (каскадно удалятся и items) console.log('\n📦 1. Удаление SUPPLY ORDERS...') const deletedOrders = await prisma.supplyOrder.deleteMany({}) console.log(`✅ Удалено заказов поставок: ${deletedOrders.count}`) // 2. Удаляем поставщиков расходников console.log('\n🏭 2. Удаление SUPPLY SUPPLIERS...') const deletedSuppliers = await prisma.supplySupplier.deleteMany({}) console.log(`✅ Удалено поставщиков: ${deletedSuppliers.count}`) // 3. Удаляем расходники из таблицы Supply console.log('\n🔧 3. Удаление SUPPLIES (расходники)...') const deletedSupplies = await prisma.supply.deleteMany({}) console.log(`✅ Удалено расходников: ${deletedSupplies.count}`) // 4. НЕ удаляем Products, так как это товары на складе поставщика console.log('\n📦 4. PRODUCTS (товары на складах) - НЕ УДАЛЯЕМ') console.log('ℹ️ Товары на складах организаций оставлены без изменений') // 5. Проверяем что осталось console.log('\n\n📊 ПРОВЕРКА ПОСЛЕ ОЧИСТКИ:') console.log('-' .repeat(80)) const remainingOrders = await prisma.supplyOrder.count() const remainingSuppliers = await prisma.supplySupplier.count() const remainingSupplies = await prisma.supply.count() const remainingProducts = await prisma.product.count() console.log(`📦 Supply Orders: ${remainingOrders}`) console.log(`🏭 Supply Suppliers: ${remainingSuppliers}`) console.log(`🔧 Supplies: ${remainingSupplies}`) console.log(`📦 Products (не удалялись): ${remainingProducts}`) console.log('\n✅ ОЧИСТКА ЗАВЕРШЕНА!') } catch (error) { console.error('❌ Ошибка при очистке:', error.message) console.error(error) } finally { await prisma.$disconnect() } } // Подтверждение перед очисткой console.log('⚠️ ВНИМАНИЕ! Этот скрипт удалит:') console.log('- Все заказы поставок (SupplyOrder)') console.log('- Все записи поставщиков (SupplySupplier)') console.log('- Все расходники (Supply)') console.log('\nНЕ будут удалены:') console.log('- Товары на складах (Product)') console.log('- Организации и пользователи') const readline = require('readline') const rl = readline.createInterface({ input: process.stdin, output: process.stdout }) rl.question('\nВы уверены? (yes/да для подтверждения): ', (answer) => { if (answer.toLowerCase() === 'yes' || answer.toLowerCase() === 'да') { cleanSupplyData() } else { console.log('❌ Очистка отменена') process.exit(0) } rl.close() })