const { Pool } = require('pg'); require('dotenv').config(); const pool = new Pool({ host: process.env.DB_HOST, port: parseInt(process.env.DB_PORT || '5432'), database: process.env.DB_NAME, user: process.env.DB_USERNAME, password: process.env.DB_PASSWORD }); async function checkDatabase() { const client = await pool.connect(); try { console.log('\n===== ПРОВЕРКА СОСТОЯНИЯ БАЗЫ ДАННЫХ ====='); // Проверка таблицы users const usersResult = await client.query('SELECT COUNT(*) as count FROM users'); console.log(`Пользователей в БД: ${usersResult.rows[0].count}`); if (parseInt(usersResult.rows[0].count) > 0) { const users = await client.query('SELECT id, telegram_id, username, first_name FROM users LIMIT 10'); console.log('Последние пользователи:'); users.rows.forEach(user => { console.log(` - ID: ${user.id.substring(0, 8)}... | Telegram: ${user.telegram_id} | Имя: ${user.first_name || user.username}`); }); } // Проверка таблицы profiles const profilesResult = await client.query('SELECT COUNT(*) as count FROM profiles'); console.log(`\nПрофилей в БД: ${profilesResult.rows[0].count}`); if (parseInt(profilesResult.rows[0].count) > 0) { const profiles = await client.query(` SELECT p.id, p.user_id, p.name, p.age, p.gender, p.interested_in, p.is_visible FROM profiles p ORDER BY p.created_at DESC LIMIT 10 `); console.log('Последние профили:'); profiles.rows.forEach(profile => { console.log(` - ID: ${profile.id.substring(0, 8)}... | UserID: ${profile.user_id.substring(0, 8)}... | Имя: ${profile.name} | Возраст: ${profile.age} | Пол: ${profile.gender} | Интересы: ${profile.interested_in} | Виден: ${profile.is_visible}`); }); } // Проверка таблицы swipes const swipesResult = await client.query('SELECT COUNT(*) as count FROM swipes'); console.log(`\nСвайпов в БД: ${swipesResult.rows[0].count}`); // Проверка таблицы profile_views const viewsResult = await client.query('SELECT COUNT(*) as count FROM profile_views'); console.log(`Просмотров профилей в БД: ${viewsResult.rows[0].count}`); // Проверка таблицы matches const matchesResult = await client.query('SELECT COUNT(*) as count FROM matches'); console.log(`Матчей в БД: ${matchesResult.rows[0].count}`); console.log('\n===== ПРОВЕРКА ЗАВЕРШЕНА =====\n'); } catch (e) { console.error('Ошибка при проверке базы данных:', e); } finally { client.release(); await pool.end(); } } // Запускаем проверку checkDatabase();