working server with migrations as defined
BOOM BABY!!!
This commit is contained in:
36
dist/processDef.js
vendored
36
dist/processDef.js
vendored
@ -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);
|
||||
|
Reference in New Issue
Block a user