File size: 1,342 Bytes
046b271 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
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 };
|