// Скрипт для установки премиум-статуса всем пользователям require('dotenv').config(); const { Pool } = require('pg'); // Проверяем и выводим параметры подключения console.log('Параметры подключения к БД:'); console.log('DB_USERNAME:', process.env.DB_USERNAME); console.log('DB_HOST:', process.env.DB_HOST); console.log('DB_NAME:', process.env.DB_NAME); console.log('DB_PASSWORD:', process.env.DB_PASSWORD ? '[указан]' : '[не указан]'); console.log('DB_PORT:', process.env.DB_PORT); // Создаем пул соединений const pool = new Pool({ user: process.env.DB_USERNAME, host: process.env.DB_HOST, database: process.env.DB_NAME, password: process.env.DB_PASSWORD, port: parseInt(process.env.DB_PORT || '5432') }); async function setAllUsersToPremium() { try { console.log('Устанавливаем премиум-статус для всех пользователей...'); // Проверка соединения с БД console.log('Проверка соединения с БД...'); const testResult = await pool.query('SELECT NOW()'); console.log('✅ Соединение успешно:', testResult.rows[0].now); // Проверка наличия столбца premium console.log('Проверяем наличие столбца premium в таблице users...'); const checkResult = await pool.query(` SELECT EXISTS ( SELECT FROM information_schema.columns WHERE table_schema = 'public' AND table_name = 'users' AND column_name = 'premium' ); `); if (!checkResult.rows[0].exists) { console.log('🔄 Добавляем столбец premium...'); await pool.query(`ALTER TABLE users ADD COLUMN premium BOOLEAN DEFAULT false;`); console.log('✅ Столбец premium успешно добавлен'); } else { console.log('✅ Столбец premium уже существует'); } // Устанавливаем premium=true для всех пользователей const updateResult = await pool.query(` UPDATE users SET premium = true WHERE true RETURNING id, telegram_id, premium `); console.log(`✅ Успешно установлен премиум-статус для ${updateResult.rows.length} пользователей:`); updateResult.rows.forEach(row => { console.log(`ID: ${row.id.substr(0, 8)}... | Telegram ID: ${row.telegram_id} | Premium: ${row.premium}`); }); console.log('🎉 Все пользователи теперь имеют премиум-статус!'); } catch (error) { console.error('❌ Ошибка при установке премиум-статуса:', error); } finally { await pool.end(); console.log('Соединение с базой данных закрыто'); } } setAllUsersToPremium();