Integrated db-migrate package

This commit is contained in:
2026-02-01 11:35:24 -05:00
parent 8415e27ff3
commit 7445dbf9f8
10 changed files with 109307 additions and 102457 deletions

View File

@@ -5,8 +5,6 @@ DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
DB_MIGRATION_HOST= # Target address for migration script
# AUTH SETTINGS
AUTH_DOMAIN=
AUTH_ISSUER=

2
api/.gitignore vendored
View File

@@ -1,3 +1,3 @@
built
!migrations/*.sql
!migrations/*/*.sql

20
api/database.json Normal file
View File

@@ -0,0 +1,20 @@
{
"dev": {
"driver": "mysql",
"user": "root",
"password": "root",
"host": "localhost",
"database": "ranger_unit_tracker",
"port": "3306",
"multipleStatements": true
},
"prod": {
"driver": "mysql",
"user": {"ENV" : "DB_USERNAME"},
"password": {"ENV" : "DB_PASSWORD"},
"host": {"ENV" : "DB_HOST"},
"database": {"ENV" : "DB_DATABASE"},
"port": {"ENV" : "DB_PORT"},
"multipleStatements": true
}
}

View File

@@ -0,0 +1,53 @@
'use strict';
var dbm;
var type;
var seed;
var fs = require('fs');
var path = require('path');
var Promise;
/**
* We receive the dbmigrate dependency from dbmigrate initially.
* This enables us to not have to rely on NODE_PATH.
*/
exports.setup = function(options, seedLink) {
dbm = options.dbmigrate;
type = dbm.dataType;
seed = seedLink;
Promise = options.Promise;
};
exports.up = function(db) {
var filePath = path.join(__dirname, 'sqls', '20260201154439-initial-up.sql');
return new Promise( function( resolve, reject ) {
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
if (err) return reject(err);
console.log('received data: ' + data);
resolve(data);
});
})
.then(function(data) {
return db.runSql(data);
});
};
exports.down = function(db) {
var filePath = path.join(__dirname, 'sqls', '20260201154439-initial-down.sql');
return new Promise( function( resolve, reject ) {
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
if (err) return reject(err);
console.log('received data: ' + data);
resolve(data);
});
})
.then(function(data) {
return db.runSql(data);
});
};
exports._meta = {
"version": 1
};

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
/* Replace with your SQL commands */

779
api/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -11,17 +11,16 @@
"dev": "tsc && tsc-alias && node ./built/api/src/index.js",
"prod": "tsc && tsc-alias && node ./built/api/src/index.js",
"build": "tsc && tsc-alias",
"migrate": "node ./scripts/migrate.js",
"migrate:create": "npm run migrate -- create -ext sql -dir /migrations",
"migrate:seed": "node ./scripts/seed.js",
"migrate:up": "npm run migrate -- up",
"migrate:down": "npm run migrate -- down 1"
"seed": "node ./scripts/seed.js"
},
"dependencies": {
"@rsol/hashmig": "^1.0.7",
"@sentry/node": "^10.27.0",
"@types/express-session": "^1.18.2",
"connect-sqlite3": "^0.9.16",
"cors": "^2.8.5",
"db-migrate": "^0.11.14",
"db-migrate-mysql": "^3.0.0",
"dotenv": "16.6.1",
"express": "^5.1.0",
"express-session": "^1.18.2",