UNPKG

makecord-create

Version:

Create advanced Discord Bots with Makecord - Now with TypeScript support

59 lines (52 loc) 1.62 kB
import { Sequelize } from 'sequelize'; import { config } from 'dotenv'; import chalk from 'chalk'; // Load environment variables config(); // Database connection details const DB_NAME = process.env.POSTGRES_DB || 'discord_bot'; const DB_USER = process.env.POSTGRES_USER || 'postgres'; const DB_PASSWORD = process.env.POSTGRES_PASSWORD || 'postgres'; const DB_HOST = process.env.POSTGRES_HOST || 'localhost'; const DB_PORT = process.env.POSTGRES_PORT || 5432; // Create Sequelize instance const sequelize = new Sequelize(DB_NAME, DB_USER, DB_PASSWORD, { host: DB_HOST, port: DB_PORT, dialect: 'postgres', logging: process.env.NODE_ENV === 'development' ? console.log : false, pool: { max: 5, min: 0, acquire: 30000, idle: 10000 } }); /** * Connect to PostgreSQL database * @returns {Promise<void>} */ export async function connectToDatabase() { try { console.log(chalk.yellow('Connecting to PostgreSQL database...')); await sequelize.authenticate(); console.log(chalk.green('PostgreSQL database connected successfully!')); } catch (error) { console.error(chalk.red('PostgreSQL database connection error:'), error.message); process.exit(1); } } /** * Close PostgreSQL database connection * @returns {Promise<void>} */ export async function closeDatabaseConnection() { try { await sequelize.close(); console.log(chalk.yellow('PostgreSQL database connection closed.')); } catch (error) { console.error(chalk.red('Error closing PostgreSQL database connection:'), error.message); } } // Export sequelize for model creation export { sequelize };