2021-05-10 17:47:26 +02:00
|
|
|
const { Sequelize } = require('sequelize');
|
2021-06-22 14:49:00 +02:00
|
|
|
const Logger = require('./utils/Logger');
|
|
|
|
const logger = new Logger();
|
2021-05-10 17:47:26 +02:00
|
|
|
|
|
|
|
const sequelize = new Sequelize({
|
|
|
|
dialect: 'sqlite',
|
2021-06-05 15:48:43 +02:00
|
|
|
storage: './data/db.sqlite',
|
2021-09-06 13:22:47 +02:00
|
|
|
logging: false,
|
2021-08-06 15:15:54 +02:00
|
|
|
});
|
2021-05-10 17:47:26 +02:00
|
|
|
|
|
|
|
const connectDB = async () => {
|
|
|
|
try {
|
2021-06-09 12:45:55 +02:00
|
|
|
await sequelize.authenticate();
|
2021-06-22 14:49:00 +02:00
|
|
|
logger.log('Connected to database');
|
2021-08-06 15:15:54 +02:00
|
|
|
|
2021-06-24 12:53:45 +02:00
|
|
|
const syncModels = true;
|
2021-08-06 15:15:54 +02:00
|
|
|
|
2021-06-22 13:07:32 +02:00
|
|
|
if (syncModels) {
|
2021-06-22 14:49:00 +02:00
|
|
|
logger.log('Starting model synchronization');
|
2021-06-22 13:07:32 +02:00
|
|
|
await sequelize.sync({ alter: true });
|
2021-06-22 14:49:00 +02:00
|
|
|
logger.log('All models were synchronized');
|
2021-06-22 13:07:32 +02:00
|
|
|
}
|
2021-05-10 17:47:26 +02:00
|
|
|
} catch (error) {
|
2021-06-22 14:49:00 +02:00
|
|
|
logger.log(`Unable to connect to the database: ${error.message}`, 'ERROR');
|
|
|
|
process.exit(1);
|
2021-05-10 17:47:26 +02:00
|
|
|
}
|
2021-08-06 15:15:54 +02:00
|
|
|
};
|
2021-05-10 17:47:26 +02:00
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
connectDB,
|
2021-09-06 13:22:47 +02:00
|
|
|
sequelize,
|
2021-08-06 15:15:54 +02:00
|
|
|
};
|