UNPKG

silvie

Version:

Typescript Back-end Framework

56 lines (55 loc) 1.79 kB
"use strict"; 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;