UNPKG

makecord-create

Version:

Create advanced Discord Bots with Makecord - Now with TypeScript support

54 lines (46 loc) 1.46 kB
import { Sequelize } from 'sequelize'; import { config } from 'dotenv'; import path from 'path'; import { fileURLToPath } from 'url'; import chalk from 'chalk'; // Load environment variables config(); // Get file paths const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // Database file path const DB_PATH = process.env.SQLITE_PATH || path.join(__dirname, '..', '..', '..', 'data', 'database.sqlite'); // Create Sequelize instance const sequelize = new Sequelize({ dialect: 'sqlite', storage: DB_PATH, logging: process.env.NODE_ENV === 'development' ? console.log : false, }); /** * Connect to SQLite database * @returns {Promise<void>} */ export async function connectToDatabase() { try { console.log(chalk.yellow('Connecting to SQLite database...')); await sequelize.authenticate(); console.log(chalk.green('SQLite database connected successfully!')); } catch (error) { console.error(chalk.red('SQLite database connection error:'), error.message); process.exit(1); } } /** * Close SQLite database connection * @returns {Promise<void>} */ export async function closeDatabaseConnection() { try { await sequelize.close(); console.log(chalk.yellow('SQLite database connection closed.')); } catch (error) { console.error(chalk.red('Error closing SQLite database connection:'), error.message); } } // Export sequelize for model creation export { sequelize };