mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-03 23:36:43 +02:00
27 lines
774 B
JavaScript
27 lines
774 B
JavaScript
const Sequelize = require('sequelize');
|
|
const { DB_URL } = process.env;
|
|
const database = new Sequelize(DB_URL, { logging: false });
|
|
|
|
class Database {
|
|
static get db() {
|
|
return database;
|
|
}
|
|
|
|
static start() {
|
|
database.authenticate()
|
|
.then(() => console.log('[DATABASE] Connection established successfully.'))
|
|
.then(() => console.log('[DATABASE] Synchronizing...'))
|
|
.then(() => database.sync()
|
|
.then(() => console.log('[DATABASE] Done Synchronizing!'))
|
|
.catch(err => console.error(`[DATABASE] Error synchronizing: ${err}`))
|
|
)
|
|
.catch(err => {
|
|
console.error(`[DATABASE] Unable to connect: ${err}`);
|
|
console.error(`[DATABASE] Reconnecting in 5 seconds...`);
|
|
setTimeout(() => Database.start(), 5000);
|
|
});
|
|
}
|
|
}
|
|
|
|
module.exports = Database;
|