const Sequelize = require('sequelize'); class DatabaseManager { static instance = null; static getInstance() { if (!DatabaseManager.instance) { const DATABASE_URL = process.env.DATABASE_URL || './database.db'; DatabaseManager.instance = DATABASE_URL === './database.db' ? new Sequelize({ dialect: 'sqlite', storage: DATABASE_URL, logging: false, }) : new Sequelize(DATABASE_URL, { dialect: 'postgres', ssl: true, protocol: 'postgres', dialectOptions: { native: true, ssl: { require: true, rejectUnauthorized: false }, }, logging: false, }); } return DatabaseManager.instance; } } const DATABASE = DatabaseManager.getInstance(); DATABASE.sync() .then(() => { console.log('Database synchronized successfully.'); }) .catch((error) => { console.error('Error synchronizing the database:', error); }); module.exports = { DATABASE };