UNPKG

ddl-manager

Version:

store postgres procedures and triggers in files

45 lines 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Table = void 0; const TableID_1 = require("./TableID"); class Table extends TableID_1.TableID { constructor(schema, name, columns = [], triggers = [], indexes = []) { super(schema, name); this.columns = columns; this.triggers = triggers; this.indexes = indexes; } getColumn(name) { return this.columns.find(column => column.equalName(name)); } addColumn(column) { this.columns.push(column); } addTrigger(trigger) { this.triggers.push(trigger); } addIndex(index) { this.indexes.push(index); } getTrigger(triggerName) { return this.triggers.find(trigger => trigger.name === triggerName); } removeTrigger(dropTrigger) { const triggerIndex = this.triggers.findIndex(existentTrigger => existentTrigger.equal(dropTrigger)); if (triggerIndex !== -1) { this.triggers.splice(triggerIndex, 1); } } removeColumn(dropColumn) { const columnIndex = this.columns.findIndex(existentColumn => existentColumn.equalName(dropColumn)); if (columnIndex !== -1) { this.columns.splice(columnIndex, 1); } } clone() { const clone = new Table(this.schema, this.name, this.columns.map(column => column.clone())); return clone; } } exports.Table = Table; //# sourceMappingURL=Table.js.map