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:
parent
91e99e1bcc
commit
d86ebe3e58
5 changed files with 36 additions and 21 deletions
|
@ -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);
|
||||
|
|
|
@ -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
19
db/utils/slugify.js
Normal 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,
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue