silvie
Version:
Typescript Back-end Framework
56 lines (55 loc) • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _ = _interopRequireDefault(require("./.."));
var _table = _interopRequireDefault(require("./table"));
var _log = _interopRequireDefault(require("../../utils/log"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
class Schema {
static async create(tableName, tableCallback, update = false) {
try {
const table = new _table.default(tableName);
if (tableCallback instanceof Function) tableCallback(table);
try {
await _.default.createTable(table);
_log.default.success('Created', tableName);
} catch (error) {
if (error.code === 'ER_TABLE_EXISTS_ERROR') {
if (update) {
try {
await _.default.updateTable(table);
_log.default.success('Updated', tableName);
} catch (err) {
_log.default.error('Update Table Failed', err);
}
} else {
_log.default.warning('Already Created', tableName);
}
} else {
_log.default.error('Create Table Failed', error);
}
}
} catch (ex) {
_log.default.error('Initialize Table Instance Failed', ex);
}
}
static async drop(tableName) {
try {
await _.default.dropTable(tableName);
_log.default.warning('Deleted', `${tableName} table`);
} catch (ex) {
_log.default.error('Drop Table Failed', ex);
}
}
static async dropIfExists(tableName) {
try {
await _.default.dropTableIfExists(tableName);
_log.default.warning('Deleted', `${tableName} table`);
} catch (ex) {
_log.default.error('Drop Table Failed', ex);
}
}
}
exports.default = Schema;