Files
rltn/db2.js

48 lines
1.8 KiB
JavaScript

require('dotenv').config();
const { Pool } = require('pg');
// Проверяем наличие строки подключения
if (!process.env.DATABASE_QUEST_NEW_QUESTS) {
console.error('❌ Ошибка: DATABASE_QUEST_NEW_QUESTS не задана в .env файле');
throw new Error('DATABASE_QUEST_NEW_QUESTS environment variable is required');
}
const connectionStr = process.env.DATABASE_QUEST_NEW_QUESTS;
console.log('Подключение к базе данных new_quests');
// Проверяем, содержит ли строка подключения пароль
if (!connectionStr.includes(':')) {
console.error('❌ Ошибка: Строка подключения не содержит пароль');
throw new Error('Database connection string must include password');
}
const new_quest_Base = new Pool({
connectionString: connectionStr,
ssl: false
});
// Обработчики событий
new_quest_Base.on('error', (err) => {
console.error('❌ Ошибка подключения к базе данных new_quests:', err.message);
});
new_quest_Base.on('connect', () => {
console.log('✅ Успешное подключение к базе данных new_quests');
});
// Функция для проверки подключения
new_quest_Base.testConnection = async () => {
try {
await new_quest_Base.query('SELECT 1 as test');
console.log('✅ Тест подключения к new_quests успешен');
return true;
} catch (error) {
console.error('❌ Тест подключения к new_quests failed:', error.message);
return false;
}
};
module.exports = {
query: (text, params) => new_quest_Base.query(text, params),
testConnection: () => new_quest_Base.testConnection()
};