working server with migrations as defined

BOOM BABY!!!
This commit is contained in:
2020-06-16 01:54:12 -06:00
parent 3505b16169
commit d212d3b36c
15 changed files with 133 additions and 20 deletions

36
dist/processDef.js vendored
View File

@ -23,19 +23,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
var path = __importStar(require("path"));
var simmer_def_example_1 = __importDefault(require("./simmer-def-example"));
// import simmer from './simmer-def-example';
var ncp = require('ncp').ncp;
var fs = __importStar(require("fs"));
var example_def_1 = __importDefault(require("./example-def"));
var outDir = 'test';
function createDatabase(storageDef) {
var tableCreationQueries = [];
var tableDeletionQueries = [];
for (var i in storageDef.tables) {
tableCreationQueries.push(getTableCreationString(storageDef.tables[i]));
tableDeletionQueries.push(getTableDeletionString(storageDef.tables[i]));
}
for (var i in storageDef.relations) {
tableCreationQueries.push(getTableRelationsCreationString(storageDef.relations[i]));
tableDeletionQueries.push(getTableRelationsDeletionString(storageDef.relations[i]));
}
tableCreationQueries.map(function (query) {
console.log(query);
});
tableDeletionQueries.map(function (query) {
console.log(query);
});
return {
up: tableCreationQueries,
down: tableDeletionQueries,
};
}
function getTableCreationString(tableDef) {
var primaryKeyString = tableDef.name + "_id VARCHAR(36) PRIMARY KEY";
@ -56,6 +69,9 @@ function getTableCreationString(tableDef) {
columnString = columnString + ", " + defaultColumns;
return "CREATE TABLE IF NOT EXISTS " + tableDef.name + " (" + columnString + (indexString !== '' ? ', ' + indexString : '') + ");";
}
function getTableDeletionString(tableDef) {
return "DROP TABLE IF EXISTS " + tableDef.name + ";";
}
function createColumnString(column) {
var typeMap = {
"blob": "BLOB",
@ -78,12 +94,26 @@ function getTableRelationsCreationString(relationsDef) {
}
return "CREATE TABLE IF NOT EXISTS " + relationsDef.left + "_" + relationsDef.right + " (" + columnString + (indexString !== '' ? ', ' + indexString : '') + ");";
}
ncp(path(__dirname, 'frame'), path(__dirname, 'test'), function (err) {
function getTableRelationsDeletionString(relationsDef) {
return "DROP TABLE IF EXISTS " + relationsDef.left + "_" + relationsDef.right + ";";
}
function dateString() {
var date = new Date();
return "" + date.getFullYear() + (date.getMonth() + 1) + date.getDate();
}
function writeMigrationsToFile(migrations) {
var migrationFileContents = "\n--up\n" + migrations.up.join('\n') + "\n--down\n" + migrations.down.join('\n') + "\n ";
var migrationFilePath = path.join(__dirname, outDir, 'src', 'migrationJobs', dateString() + "-create-database.sql");
fs.writeFileSync(migrationFilePath, migrationFileContents);
}
ncp(path.join(__dirname, 'frame'), path.join(__dirname, outDir), function (err) {
if (err) {
console.log(err);
}
else {
console.log('success copying files');
var creationMigrations = createDatabase(example_def_1.default.storage);
// let creationMigrations = createDatabase(simmer.storage);
writeMigrationsToFile(creationMigrations);
}
});
createDatabase(simmer_def_example_1.default.storage);