67 lines
3.1 KiB
JavaScript
67 lines
3.1 KiB
JavaScript
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();
|