makecord-create
Version:
Create advanced Discord Bots with Makecord - Now with TypeScript support
54 lines (46 loc) • 1.46 kB
JavaScript
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 };