12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 'use strict';
- exports.__esModule = true;
- var _toArray2 = require('lodash/toArray');
- var _toArray3 = _interopRequireDefault(_toArray2);
- var _each2 = require('lodash/each');
- var _each3 = _interopRequireDefault(_each2);
- var _inherits = require('inherits');
- var _inherits2 = _interopRequireDefault(_inherits);
- var _events = require('events');
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- // Constructor for the builder instance, typically called from
- // `knex.builder`, accepting the current `knex` instance,
- // and pulling out the `client` and `grammar` from the current
- // knex instance.
- function SchemaBuilder(client) {
- this.client = client;
- this._sequence = [];
- this._debug = client.config && client.config.debug;
- }
- (0, _inherits2.default)(SchemaBuilder, _events.EventEmitter);
- // Each of the schema builder methods just add to the
- // "_sequence" array for consistency.
- (0, _each3.default)(['createTable', 'createTableIfNotExists', 'createSchema', 'createSchemaIfNotExists', 'dropSchema', 'dropSchemaIfExists', 'createExtension', 'createExtensionIfNotExists', 'dropExtension', 'dropExtensionIfExists', 'table', 'alterTable', 'hasTable', 'hasColumn', 'dropTable', 'renameTable', 'dropTableIfExists', 'raw'], function (method) {
- SchemaBuilder.prototype[method] = function () {
- if (method === 'table') method = 'alterTable';
- this._sequence.push({
- method: method,
- args: (0, _toArray3.default)(arguments)
- });
- return this;
- };
- });
- require('../interface')(SchemaBuilder);
- SchemaBuilder.prototype.withSchema = function (schemaName) {
- this._schema = schemaName;
- return this;
- };
- SchemaBuilder.prototype.toString = function () {
- return this.toQuery();
- };
- SchemaBuilder.prototype.toSQL = function () {
- return this.client.schemaCompiler(this).toSQL();
- };
- exports.default = SchemaBuilder;
- module.exports = exports['default'];
|