1
0
Fork 0
mirror of https://github.com/pawelmalak/flame.git synced 2025-08-05 10:55:17 +02:00

Server db utils changes

This commit is contained in:
Paweł Malak 2021-11-13 23:28:43 +01:00
parent 91e99e1bcc
commit d86ebe3e58
5 changed files with 36 additions and 21 deletions

View file

@ -1,8 +1,9 @@
const { Sequelize } = require('sequelize');
const { join } = require('path');
const Umzug = require('umzug');
const backupDB = require('./utils/backupDb');
// Utils
const backupDB = require('./utils/backupDb');
const Logger = require('../utils/Logger');
const logger = new Logger();
@ -28,15 +29,16 @@ const connectDB = async () => {
backupDB();
await sequelize.authenticate();
logger.log('Connected to database');
// migrations
// execute all pending migrations
const pendingMigrations = await umzug.pending();
if (pendingMigrations.length > 0) {
logger.log('Executing pending migrations');
await umzug.up();
}
logger.log('Connected to database');
} catch (error) {
logger.log(`Unable to connect to the database: ${error.message}`, 'ERROR');
process.exit(1);

View file

@ -1,12 +1,12 @@
const fs = require('fs');
const { slugify } = require('./slugify');
const backupDB = () => {
if (!fs.existsSync('data/db_backups')) {
fs.mkdirSync('data/db_backups');
}
const version = process.env.VERSION;
const slug = `db-${version.replace(/\./g, '')}-backup.sqlite`;
const slug = slugify();
const srcPath = 'data/db.sqlite';
const destPath = `data/db_backups/${slug}`;

19
db/utils/slugify.js Normal file
View file

@ -0,0 +1,19 @@
const slugify = () => {
const version = process.env.VERSION;
const slug = `db-${version.replace(/\./g, '')}-backup.sqlite`;
return slug;
};
const parseSlug = (slug) => {
const parts = slug.split('-');
const version = {
raw: parts[1],
parsed: parts[1].split('').join('.'),
};
return version;
};
module.exports = {
slugify,
parseSlug,
};