knex-firebird-dialect
Version:
Firebird dialect for Knex.js
63 lines (61 loc) • 10.1 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _tablecompiler = _interopRequireDefault(require("knex/lib/schema/tablecompiler"));
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
// Table Compiler
// -------
var TableCompiler_Firebird = /*#__PURE__*/function (_TableCompiler) {
function TableCompiler_Firebird() {
(0, _classCallCheck2["default"])(this, TableCompiler_Firebird);
return _callSuper(this, TableCompiler_Firebird, arguments);
}
(0, _inherits2["default"])(TableCompiler_Firebird, _TableCompiler);
return (0, _createClass2["default"])(TableCompiler_Firebird, [{
key: "createQuery",
value:
// Create a new table.
function createQuery(columns, ifNot) {
if (ifNot) throw new Error("createQuery ifNot not implemented");
var createStatement = "create table ";
var sql = createStatement + this.tableName() + " (" + columns.sql.join(", ") + ")";
this.pushQuery(sql);
}
// Compile a plain index key command.
}, {
key: "index",
value: function index(columns, indexName) {
indexName = indexName ? this.formatter.wrap(indexName) : this._indexCommand("index", this.tableNameRaw, columns);
this.pushQuery("create index ".concat(indexName, " on ").concat(this.tableName(), " (").concat(this.formatter.columnize(columns), ")"));
}
}, {
key: "primary",
value: function primary(columns) {
this.constraintName = this.constraintName ? this.formatter.wrap(this.constraintName) : this.formatter.wrap("".concat(this.tableNameRaw, "_pkey"));
this.pushQuery("alter table ".concat(this.tableName(), " add constraint ").concat(this.constraintName, " primary key (").concat(this.formatter.columnize(columns), ")"));
}
}, {
key: "renameColumn",
value: function renameColumn(from, to) {
var fromSanitized = this.formatter.wrap(from);
var toSanitized = this.formatter.wrap(to);
this.pushQuery({
sql: "alter table ".concat(this.tableName(), " ").concat(this.alterColumnPrefix, " ").concat(fromSanitized, " to ").concat(toSanitized)
});
}
}]);
}(_tablecompiler["default"]);
TableCompiler_Firebird.prototype.addColumnsPrefix = "ADD ";
TableCompiler_Firebird.prototype.dropColumnPrefix = "DROP ";
TableCompiler_Firebird.prototype.alterColumnPrefix = "ALTER COLUMN ";
var _default = exports["default"] = TableCompiler_Firebird;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGFibGVjb21waWxlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NhbGxTdXBlciIsInQiLCJvIiwiZSIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsImNhbGwiLCJUYWJsZUNvbXBpbGVyX0ZpcmViaXJkIiwiX1RhYmxlQ29tcGlsZXIiLCJfY2xhc3NDYWxsQ2hlY2syIiwiYXJndW1lbnRzIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsImNyZWF0ZVF1ZXJ5IiwiY29sdW1ucyIsImlmTm90IiwiRXJyb3IiLCJjcmVhdGVTdGF0ZW1lbnQiLCJzcWwiLCJ0YWJsZU5hbWUiLCJqb2luIiwicHVzaFF1ZXJ5IiwiaW5kZXgiLCJpbmRleE5hbWUiLCJmb3JtYXR0ZXIiLCJ3cmFwIiwiX2luZGV4Q29tbWFuZCIsInRhYmxlTmFtZVJhdyIsImNvbmNhdCIsImNvbHVtbml6ZSIsInByaW1hcnkiLCJjb25zdHJhaW50TmFtZSIsInJlbmFtZUNvbHVtbiIsImZyb20iLCJ0byIsImZyb21TYW5pdGl6ZWQiLCJ0b1Nhbml0aXplZCIsImFsdGVyQ29sdW1uUHJlZml4IiwiVGFibGVDb21waWxlciIsImFkZENvbHVtbnNQcmVmaXgiLCJkcm9wQ29sdW1uUHJlZml4IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjaGVtYS90YWJsZWNvbXBpbGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUYWJsZUNvbXBpbGVyIGZyb20gXCJrbmV4L2xpYi9zY2hlbWEvdGFibGVjb21waWxlclwiO1xuXG4vLyBUYWJsZSBDb21waWxlclxuLy8gLS0tLS0tLVxuXG5jbGFzcyBUYWJsZUNvbXBpbGVyX0ZpcmViaXJkIGV4dGVuZHMgVGFibGVDb21waWxlciB7XG4gIC8vIENyZWF0ZSBhIG5ldyB0YWJsZS5cbiAgY3JlYXRlUXVlcnkoY29sdW1ucywgaWZOb3QpIHtcbiAgICBpZiAoaWZOb3QpIHRocm93IG5ldyBFcnJvcihcImNyZWF0ZVF1ZXJ5IGlmTm90IG5vdCBpbXBsZW1lbnRlZFwiKTtcbiAgICBjb25zdCBjcmVhdGVTdGF0ZW1lbnQgPSBcImNyZWF0ZSB0YWJsZSBcIjtcbiAgICBsZXQgc3FsID1cbiAgICAgIGNyZWF0ZVN0YXRlbWVudCArIHRoaXMudGFibGVOYW1lKCkgKyBcIiAoXCIgKyBjb2x1bW5zLnNxbC5qb2luKFwiLCBcIikgKyBcIilcIjtcbiAgICB0aGlzLnB1c2hRdWVyeShzcWwpO1xuICB9XG5cbiAgLy8gQ29tcGlsZSBhIHBsYWluIGluZGV4IGtleSBjb21tYW5kLlxuICBpbmRleChjb2x1bW5zLCBpbmRleE5hbWUpIHtcbiAgICBpbmRleE5hbWUgPSBpbmRleE5hbWVcbiAgICAgID8gdGhpcy5mb3JtYXR0ZXIud3JhcChpbmRleE5hbWUpXG4gICAgICA6IHRoaXMuX2luZGV4Q29tbWFuZChcImluZGV4XCIsIHRoaXMudGFibGVOYW1lUmF3LCBjb2x1bW5zKTtcbiAgICB0aGlzLnB1c2hRdWVyeShcbiAgICAgIGBjcmVhdGUgaW5kZXggJHtpbmRleE5hbWV9IG9uICR7dGhpcy50YWJsZU5hbWUoKX0gKCR7dGhpcy5mb3JtYXR0ZXIuY29sdW1uaXplKFxuICAgICAgICBjb2x1bW5zXG4gICAgICApfSlgXG4gICAgKTtcbiAgfVxuXG4gIHByaW1hcnkoY29sdW1ucykge1xuICAgIHRoaXMuY29uc3RyYWludE5hbWUgPSB0aGlzLmNvbnN0cmFpbnROYW1lXG4gICAgICA/IHRoaXMuZm9ybWF0dGVyLndyYXAodGhpcy5jb25zdHJhaW50TmFtZSlcbiAgICAgIDogdGhpcy5mb3JtYXR0ZXIud3JhcChgJHt0aGlzLnRhYmxlTmFtZVJhd31fcGtleWApO1xuICAgIHRoaXMucHVzaFF1ZXJ5KFxuICAgICAgYGFsdGVyIHRhYmxlICR7dGhpcy50YWJsZU5hbWUoKX0gYWRkIGNvbnN0cmFpbnQgJHtcbiAgICAgICAgdGhpcy5jb25zdHJhaW50TmFtZVxuICAgICAgfSBwcmltYXJ5IGtleSAoJHt0aGlzLmZvcm1hdHRlci5jb2x1bW5pemUoY29sdW1ucyl9KWBcbiAgICApO1xuICB9XG5cbiAgcmVuYW1lQ29sdW1uKGZyb20sIHRvKSB7XG4gICAgY29uc3QgZnJvbVNhbml0aXplZCA9IHRoaXMuZm9ybWF0dGVyLndyYXAoZnJvbSk7XG4gICAgY29uc3QgdG9TYW5pdGl6ZWQgPSB0aGlzLmZvcm1hdHRlci53cmFwKHRvKTtcblxuICAgIHRoaXMucHVzaFF1ZXJ5KHtcbiAgICAgIHNxbDogYGFsdGVyIHRhYmxlICR7dGhpcy50YWJsZU5hbWUoKX0gJHtcbiAgICAgICAgdGhpcy5hbHRlckNvbHVtblByZWZpeFxuICAgICAgfSAke2Zyb21TYW5pdGl6ZWR9IHRvICR7dG9TYW5pdGl6ZWR9YCxcbiAgICB9KTtcbiAgfVxufVxuXG5UYWJsZUNvbXBpbGVyX0ZpcmViaXJkLnByb3RvdHlwZS5hZGRDb2x1bW5zUHJlZml4ID0gXCJBREQgXCI7XG5UYWJsZUNvbXBpbGVyX0ZpcmViaXJkLnByb3RvdHlwZS5kcm9wQ29sdW1uUHJlZml4ID0gXCJEUk9QIFwiO1xuVGFibGVDb21waWxlcl9GaXJlYmlyZC5wcm90b3R5cGUuYWx0ZXJDb2x1bW5QcmVmaXggPSBcIkFMVEVSIENPTFVNTiBcIjtcblxuZXhwb3J0IGRlZmF1bHQgVGFibGVDb21waWxlcl9GaXJlYmlyZDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQTBELFNBQUFDLFdBQUFDLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFdBQUFELENBQUEsT0FBQUUsZ0JBQUEsYUFBQUYsQ0FBQSxPQUFBRywyQkFBQSxhQUFBSixD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