Files
sfera/diagnostic-script.js

97 lines
2.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const { PrismaClient } = require("@prisma/client");
const prisma = new PrismaClient();
async function diagnoseDatabase() {
try {
console.log("🔍 ДИАГНОСТИКА БАЗЫ ДАННЫХ...\n");
// Проверяем пользователей
const users = await prisma.user.findMany({
include: {
organization: true,
},
});
console.log("👥 ПОЛЬЗОВАТЕЛИ:");
users.forEach((user) => {
console.log(` - ID: ${user.id}`);
console.log(` Телефон: ${user.phone}`);
console.log(` Организация: ${user.organization?.name || "НЕТ"}`);
console.log(` Тип организации: ${user.organization?.type || "НЕТ"}`);
console.log("");
});
// Проверяем организации
const organizations = await prisma.organization.findMany();
console.log("🏢 ОРГАНИЗАЦИИ:");
organizations.forEach((org) => {
console.log(` - ID: ${org.id}`);
console.log(` Название: ${org.name}`);
console.log(` Тип: ${org.type}`);
console.log("");
});
// Проверяем товары
const products = await prisma.product.findMany({
include: {
organization: true,
category: true,
},
orderBy: {
createdAt: "desc",
},
});
console.log("🛍️ ТОВАРЫ:");
if (products.length === 0) {
console.log(" НЕТ ТОВАРОВ В БАЗЕ ДАННЫХ");
} else {
products.forEach((product) => {
console.log(` - ID: ${product.id}`);
console.log(` Название: ${product.name}`);
console.log(` Артикул: ${product.article}`);
console.log(` Тип: ${product.type}`);
console.log(` Активен: ${product.isActive}`);
console.log(
` Организация: ${product.organization?.name || "НЕТ"} (${
product.organization?.type || "НЕТ"
})`
);
console.log(` Создан: ${product.createdAt}`);
console.log("");
});
}
// Проверяем товары поставщиков
const wholesaleProducts = await prisma.product.findMany({
where: {
organization: {
type: "WHOLESALE",
},
type: "PRODUCT",
},
include: {
organization: true,
},
});
console.log("🏪 ТОВАРЫ ПОСТАВЩИКОВ (WHOLESALE + PRODUCT):");
if (wholesaleProducts.length === 0) {
console.log(" НЕТ ТОВАРОВ ПОСТАВЩИКОВ");
} else {
wholesaleProducts.forEach((product) => {
console.log(
` - ${product.name} (${product.article}) - ${product.organization?.name}`
);
});
}
} catch (error) {
console.error("❌ ОШИБКА:", error);
} finally {
await prisma.$disconnect();
}
}
diagnoseDatabase();