murmuration 2.0.24 → 2.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.swcrc +5 -0
- package/lib/constants.js +13 -0
- package/lib/database.js +51 -0
- package/lib/defaultLog.js +22 -0
- package/lib/index.js +47 -0
- package/lib/migrate/customMigration.js +72 -0
- package/lib/migrate/migration.js +76 -0
- package/lib/migrate/migrations.js +93 -0
- package/lib/migrate/operation/applyMigrations.js +110 -0
- package/lib/migrate/operation/initialise.js +71 -0
- package/lib/migrate.js +40 -0
- package/lib/statement.js +461 -0
- package/lib/table/migration.js +63 -0
- package/lib/transaction.js +120 -0
- package/lib/utilities/case.js +32 -0
- package/package.json +19 -4
- package/src/constants.js +3 -0
- package/{bin → src}/database.js +2 -7
- package/{bin → src}/defaultLog.js +1 -1
- package/src/index.js +9 -0
- package/{bin → src}/migrate/customMigration.js +2 -4
- package/{bin → src}/migrate/migration.js +3 -5
- package/{bin → src}/migrate/migrations.js +3 -5
- package/{bin → src}/migrate/operation/applyMigrations.js +5 -7
- package/{bin → src}/migrate/operation/initialise.js +3 -5
- package/{bin → src}/migrate.js +4 -6
- package/{bin → src}/statement.js +4 -6
- package/{bin → src}/table/migration.js +5 -12
- package/{bin → src}/transaction.js +3 -5
- package/{bin → src}/utilities/case.js +2 -7
- package/bin/constants.js +0 -7
- package/index.js +0 -19
package/lib/constants.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "EMPTY_STRING", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return EMPTY_STRING;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var EMPTY_STRING = "";
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuIl0sIm5hbWVzIjpbIkVNUFRZX1NUUklORyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRWFBOzs7ZUFBQUE7OztBQUFOLElBQU1BLGVBQWUifQ==
|
package/lib/database.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get execute () {
|
|
13
|
+
return execute;
|
|
14
|
+
},
|
|
15
|
+
get query () {
|
|
16
|
+
return query;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
function query(connection, sql) {
|
|
20
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
21
|
+
remainingArguments[_key - 2] = arguments[_key];
|
|
22
|
+
}
|
|
23
|
+
var parameters = remainingArguments, callback = parameters.pop(); ///
|
|
24
|
+
try {
|
|
25
|
+
connection.query(sql, parameters, function(error, rows) {
|
|
26
|
+
return callback(error, rows);
|
|
27
|
+
});
|
|
28
|
+
} catch (error) {
|
|
29
|
+
var log = connection.getLog();
|
|
30
|
+
log.error(error);
|
|
31
|
+
var rows = null; ///
|
|
32
|
+
callback(error, rows);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function execute(connection, sql) {
|
|
36
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
37
|
+
remainingArguments[_key - 2] = arguments[_key];
|
|
38
|
+
}
|
|
39
|
+
var parameters = remainingArguments, callback = parameters.pop(); ///
|
|
40
|
+
try {
|
|
41
|
+
connection.query(sql, parameters, function(error, rows) {
|
|
42
|
+
return callback(error);
|
|
43
|
+
});
|
|
44
|
+
} catch (error) {
|
|
45
|
+
var log = connection.getLog();
|
|
46
|
+
log.error(error);
|
|
47
|
+
callback(error);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRhYmFzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHF1ZXJ5KGNvbm5lY3Rpb24sIHNxbCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IHBhcmFtZXRlcnMgPSByZW1haW5pbmdBcmd1bWVudHMsXG4gICAgICAgIGNhbGxiYWNrID0gcGFyYW1ldGVycy5wb3AoKTsgIC8vL1xuXG4gIHRyeSB7XG4gICAgY29ubmVjdGlvbi5xdWVyeShzcWwsIHBhcmFtZXRlcnMsIChlcnJvciwgcm93cykgPT4gY2FsbGJhY2soZXJyb3IsIHJvd3MpKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zdCBsb2cgPSBjb25uZWN0aW9uLmdldExvZygpO1xuXG4gICAgbG9nLmVycm9yKGVycm9yKTtcblxuICAgIGNvbnN0IHJvd3MgPSBudWxsOyAvLy9cblxuICAgIGNhbGxiYWNrKGVycm9yLCByb3dzKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhlY3V0ZShjb25uZWN0aW9uLCBzcWwsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBwYXJhbWV0ZXJzID0gcmVtYWluaW5nQXJndW1lbnRzLFxuICAgICAgICBjYWxsYmFjayA9IHBhcmFtZXRlcnMucG9wKCk7ICAvLy9cblxuICB0cnkge1xuICAgIGNvbm5lY3Rpb24ucXVlcnkoc3FsLCBwYXJhbWV0ZXJzLCAoZXJyb3IsIHJvd3MpID0+IGNhbGxiYWNrKGVycm9yKSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc3QgbG9nID0gY29ubmVjdGlvbi5nZXRMb2coKTtcblxuICAgIGxvZy5lcnJvcihlcnJvcik7XG5cbiAgICBjYWxsYmFjayhlcnJvcik7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJleGVjdXRlIiwicXVlcnkiLCJjb25uZWN0aW9uIiwic3FsIiwicmVtYWluaW5nQXJndW1lbnRzIiwicGFyYW1ldGVycyIsImNhbGxiYWNrIiwicG9wIiwiZXJyb3IiLCJyb3dzIiwibG9nIiwiZ2V0TG9nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFtQmdCQTtlQUFBQTs7UUFqQkFDO2VBQUFBOzs7QUFBVCxTQUFTQSxNQUFNQyxVQUFVLEVBQUVDLEdBQUc7SUFBRSxJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR0MscUJBQUgsVUFBQSxPQUFBLElBQUEsT0FBQSxRQUFBLE9BQUEsR0FBQSxPQUFBLE1BQUE7UUFBR0EsbUJBQUgsT0FBQSxLQUFBLFNBQUEsQ0FBQSxLQUFxQjs7SUFDMUQsSUFBTUMsYUFBYUQsb0JBQ2JFLFdBQVdELFdBQVdFLEdBQUcsSUFBSyxHQUFHO0lBRXZDLElBQUk7UUFDRkwsV0FBV0QsS0FBSyxDQUFDRSxLQUFLRSxZQUFZLFNBQUNHLE9BQU9DO21CQUFTSCxTQUFTRSxPQUFPQzs7SUFDckUsRUFBRSxPQUFPRCxPQUFPO1FBQ2QsSUFBTUUsTUFBTVIsV0FBV1MsTUFBTTtRQUU3QkQsSUFBSUYsS0FBSyxDQUFDQTtRQUVWLElBQU1DLE9BQU8sTUFBTSxHQUFHO1FBRXRCSCxTQUFTRSxPQUFPQztJQUNsQjtBQUNGO0FBRU8sU0FBU1QsUUFBUUUsVUFBVSxFQUFFQyxHQUFHO0lBQUUsSUFBQSxJQUFBLE9BQUEsVUFBQSxRQUFBLEFBQUdDLHFCQUFILFVBQUEsT0FBQSxJQUFBLE9BQUEsUUFBQSxPQUFBLEdBQUEsT0FBQSxNQUFBO1FBQUdBLG1CQUFILE9BQUEsS0FBQSxTQUFBLENBQUEsS0FBcUI7O0lBQzVELElBQU1DLGFBQWFELG9CQUNiRSxXQUFXRCxXQUFXRSxHQUFHLElBQUssR0FBRztJQUV2QyxJQUFJO1FBQ0ZMLFdBQVdELEtBQUssQ0FBQ0UsS0FBS0UsWUFBWSxTQUFDRyxPQUFPQzttQkFBU0gsU0FBU0U7O0lBQzlELEVBQUUsT0FBT0EsT0FBTztRQUNkLElBQU1FLE1BQU1SLFdBQVdTLE1BQU07UUFFN0JELElBQUlGLEtBQUssQ0FBQ0E7UUFFVkYsU0FBU0U7SUFDWDtBQUNGIn0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function defaultLog(message) {}
|
|
12
|
+
Object.assign(defaultLog, {
|
|
13
|
+
trace: function() {},
|
|
14
|
+
debug: function() {},
|
|
15
|
+
info: function() {},
|
|
16
|
+
warning: function() {},
|
|
17
|
+
error: function() {},
|
|
18
|
+
fatal: function() {}
|
|
19
|
+
});
|
|
20
|
+
var _default = defaultLog;
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0TG9nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBkZWZhdWx0TG9nKG1lc3NhZ2UpIHt9XG5cbk9iamVjdC5hc3NpZ24oZGVmYXVsdExvZywge1xuICB0cmFjZTogKCkgPT4ge30sXG4gIGRlYnVnOiAoKSA9PiB7fSxcbiAgaW5mbzogKCkgPT4ge30sXG4gIHdhcm5pbmc6ICgpID0+IHt9LFxuICBlcnJvcjogKCkgPT4ge30sXG4gIGZhdGFsOiAoKSA9PiB7fSxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZhdWx0TG9nO1xuIl0sIm5hbWVzIjpbImRlZmF1bHRMb2ciLCJtZXNzYWdlIiwiT2JqZWN0IiwiYXNzaWduIiwidHJhY2UiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZXJyb3IiLCJmYXRhbCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYUE7OztlQUFBOzs7QUFYQSxTQUFTQSxXQUFXQyxPQUFPLEdBQUc7QUFFOUJDLE9BQU9DLE1BQU0sQ0FBQ0gsWUFBWTtJQUN4QkksT0FBTyxZQUFPO0lBQ2RDLE9BQU8sWUFBTztJQUNkQyxNQUFNLFlBQU87SUFDYkMsU0FBUyxZQUFPO0lBQ2hCQyxPQUFPLFlBQU87SUFDZEMsT0FBTyxZQUFPO0FBQ2hCO0lBRUEsV0FBZVQifQ==
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get CustomMigration () {
|
|
13
|
+
return _customMigration.default;
|
|
14
|
+
},
|
|
15
|
+
get Statement () {
|
|
16
|
+
return _statement.default;
|
|
17
|
+
},
|
|
18
|
+
get caseUtilities () {
|
|
19
|
+
return _case.default;
|
|
20
|
+
},
|
|
21
|
+
get database () {
|
|
22
|
+
return _database.default;
|
|
23
|
+
},
|
|
24
|
+
get defaultLog () {
|
|
25
|
+
return _defaultLog.default;
|
|
26
|
+
},
|
|
27
|
+
get migrate () {
|
|
28
|
+
return _migrate.default;
|
|
29
|
+
},
|
|
30
|
+
get transaction () {
|
|
31
|
+
return _transaction.default;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
var _migrate = /*#__PURE__*/ _interop_require_default(require("./migrate"));
|
|
35
|
+
var _database = /*#__PURE__*/ _interop_require_default(require("./database"));
|
|
36
|
+
var _statement = /*#__PURE__*/ _interop_require_default(require("./statement"));
|
|
37
|
+
var _defaultLog = /*#__PURE__*/ _interop_require_default(require("./defaultLog"));
|
|
38
|
+
var _transaction = /*#__PURE__*/ _interop_require_default(require("./transaction"));
|
|
39
|
+
var _case = /*#__PURE__*/ _interop_require_default(require("./utilities/case"));
|
|
40
|
+
var _customMigration = /*#__PURE__*/ _interop_require_default(require("./migrate/customMigration"));
|
|
41
|
+
function _interop_require_default(obj) {
|
|
42
|
+
return obj && obj.__esModule ? obj : {
|
|
43
|
+
default: obj
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBtaWdyYXRlIH0gZnJvbSBcIi4vbWlncmF0ZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkYXRhYmFzZSB9IGZyb20gXCIuL2RhdGFiYXNlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFN0YXRlbWVudCB9IGZyb20gXCIuL3N0YXRlbWVudFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBkZWZhdWx0TG9nIH0gZnJvbSBcIi4vZGVmYXVsdExvZ1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB0cmFuc2FjdGlvbiB9IGZyb20gXCIuL3RyYW5zYWN0aW9uXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNhc2VVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY2FzZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDdXN0b21NaWdyYXRpb24gfSBmcm9tIFwiLi9taWdyYXRlL2N1c3RvbU1pZ3JhdGlvblwiO1xuIl0sIm5hbWVzIjpbIkN1c3RvbU1pZ3JhdGlvbiIsIlN0YXRlbWVudCIsImNhc2VVdGlsaXRpZXMiLCJkYXRhYmFzZSIsImRlZmF1bHRMb2ciLCJtaWdyYXRlIiwidHJhbnNhY3Rpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQVFvQkE7ZUFBQUEsd0JBQWU7O1FBSmZDO2VBQUFBLGtCQUFTOztRQUdUQztlQUFBQSxhQUFhOztRQUpiQztlQUFBQSxpQkFBUTs7UUFFUkM7ZUFBQUEsbUJBQVU7O1FBSFZDO2VBQUFBLGdCQUFPOztRQUlQQztlQUFBQSxvQkFBVzs7OzhEQUpJOytEQUNDO2dFQUNDO2lFQUNDO2tFQUNDOzJEQUNFO3NFQUNFIn0=
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return CustomMigration;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _necessary = require("necessary");
|
|
12
|
+
function _class_call_check(instance, Constructor) {
|
|
13
|
+
if (!(instance instanceof Constructor)) {
|
|
14
|
+
throw new TypeError("Cannot call a class as a function");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function _defineProperties(target, props) {
|
|
18
|
+
for(var i = 0; i < props.length; i++){
|
|
19
|
+
var descriptor = props[i];
|
|
20
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
21
|
+
descriptor.configurable = true;
|
|
22
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
23
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
27
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
28
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
29
|
+
return Constructor;
|
|
30
|
+
}
|
|
31
|
+
var second = _necessary.arrayUtilities.second;
|
|
32
|
+
var CustomMigration = /*#__PURE__*/ function() {
|
|
33
|
+
function CustomMigration(filePath) {
|
|
34
|
+
_class_call_check(this, CustomMigration);
|
|
35
|
+
this.filePath = filePath;
|
|
36
|
+
}
|
|
37
|
+
_create_class(CustomMigration, [
|
|
38
|
+
{
|
|
39
|
+
key: "getFilePath",
|
|
40
|
+
value: function getFilePath() {
|
|
41
|
+
return this.filePath;
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
key: "getVersion",
|
|
46
|
+
value: function getVersion() {
|
|
47
|
+
var matches = this.filePath.match(/(\d+)-.+$/), secondMatch = second(matches), version = secondMatch; ///
|
|
48
|
+
return version;
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: "apply",
|
|
53
|
+
value: function apply(connection, callback) {
|
|
54
|
+
var log = connection.getLog(), version = this.getVersion();
|
|
55
|
+
log.info("Applying custom migration version ".concat(version, "..."));
|
|
56
|
+
var error = true;
|
|
57
|
+
callback(error);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
], [
|
|
61
|
+
{
|
|
62
|
+
key: "fromFilePath",
|
|
63
|
+
value: function fromFilePath(filePath) {
|
|
64
|
+
var customMigration = new CustomMigration(filePath);
|
|
65
|
+
return customMigration;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
]);
|
|
69
|
+
return CustomMigration;
|
|
70
|
+
}();
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWdyYXRlL2N1c3RvbU1pZ3JhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgc2Vjb25kIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgIGNsYXNzIEN1c3RvbU1pZ3JhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGZpbGVQYXRoKSB7XG4gICAgdGhpcy5maWxlUGF0aCA9IGZpbGVQYXRoO1xuICB9XG5cbiAgZ2V0RmlsZVBhdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsZVBhdGg7XG4gIH1cblxuICBnZXRWZXJzaW9uKCkge1xuICAgIGNvbnN0IG1hdGNoZXMgPSB0aGlzLmZpbGVQYXRoLm1hdGNoKC8oXFxkKyktLiskLyksXG4gICAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyksXG4gICAgICAgICAgdmVyc2lvbiA9IHNlY29uZE1hdGNoOyAgLy8vXG5cbiAgICByZXR1cm4gdmVyc2lvbjtcbiAgfVxuICBcbiAgYXBwbHkoY29ubmVjdGlvbiwgY2FsbGJhY2spIHtcbiAgICBjb25zdCBsb2cgPSBjb25uZWN0aW9uLmdldExvZygpLFxuICAgICAgICAgIHZlcnNpb24gPSB0aGlzLmdldFZlcnNpb24oKTtcblxuICAgIGxvZy5pbmZvKGBBcHBseWluZyBjdXN0b20gbWlncmF0aW9uIHZlcnNpb24gJHt2ZXJzaW9ufS4uLmApO1xuXG4gICAgY29uc3QgZXJyb3IgPSB0cnVlO1xuXG4gICAgY2FsbGJhY2soZXJyb3IpO1xuICB9XG4gIFxuICBzdGF0aWMgZnJvbUZpbGVQYXRoKGZpbGVQYXRoKSB7XG4gICAgY29uc3QgY3VzdG9tTWlncmF0aW9uID0gbmV3IEN1c3RvbU1pZ3JhdGlvbihmaWxlUGF0aCk7XG4gICAgXG4gICAgcmV0dXJuIGN1c3RvbU1pZ3JhdGlvbjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkN1c3RvbU1pZ3JhdGlvbiIsInNlY29uZCIsImFycmF5VXRpbGl0aWVzIiwiZmlsZVBhdGgiLCJnZXRGaWxlUGF0aCIsImdldFZlcnNpb24iLCJtYXRjaGVzIiwibWF0Y2giLCJzZWNvbmRNYXRjaCIsInZlcnNpb24iLCJhcHBseSIsImNvbm5lY3Rpb24iLCJjYWxsYmFjayIsImxvZyIsImdldExvZyIsImluZm8iLCJlcnJvciIsImZyb21GaWxlUGF0aCIsImN1c3RvbU1pZ3JhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNc0JBOzs7eUJBSlM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRS9CLElBQU0sQUFBRUMsU0FBV0MseUJBQWMsQ0FBekJEO0FBRVEsSUFBQSxBQUFNRCxnQ0FBTjthQUFNQSxnQkFDUkcsUUFBUTtnQ0FEQUg7UUFFbEIsSUFBSSxDQUFDRyxRQUFRLEdBQUdBOztrQkFGRUg7O1lBS3BCSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELFFBQVE7WUFDdEI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsVUFBVSxJQUFJLENBQUNILFFBQVEsQ0FBQ0ksS0FBSyxDQUFDLGNBQzlCQyxjQUFjUCxPQUFPSyxVQUNyQkcsVUFBVUQsYUFBYyxHQUFHO2dCQUVqQyxPQUFPQztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1DLFVBQVUsRUFBRUMsUUFBUTtnQkFDeEIsSUFBTUMsTUFBTUYsV0FBV0csTUFBTSxJQUN2QkwsVUFBVSxJQUFJLENBQUNKLFVBQVU7Z0JBRS9CUSxJQUFJRSxJQUFJLENBQUMsQUFBQyxxQ0FBNEMsT0FBUk4sU0FBUTtnQkFFdEQsSUFBTU8sUUFBUTtnQkFFZEosU0FBU0k7WUFDWDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxhQUFhZCxRQUFRO2dCQUMxQixJQUFNZSxrQkFBa0IsSUE3Qk5sQixnQkE2QjBCRztnQkFFNUMsT0FBT2U7WUFDVDs7O1dBaENvQmxCIn0=
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return Migration;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _necessary = require("necessary");
|
|
12
|
+
var _database = require("../database");
|
|
13
|
+
function _class_call_check(instance, Constructor) {
|
|
14
|
+
if (!(instance instanceof Constructor)) {
|
|
15
|
+
throw new TypeError("Cannot call a class as a function");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function _defineProperties(target, props) {
|
|
19
|
+
for(var i = 0; i < props.length; i++){
|
|
20
|
+
var descriptor = props[i];
|
|
21
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
22
|
+
descriptor.configurable = true;
|
|
23
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
24
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
28
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
29
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
+
return Constructor;
|
|
31
|
+
}
|
|
32
|
+
var second = _necessary.arrayUtilities.second, readFile = _necessary.fileSystemUtilities.readFile;
|
|
33
|
+
var Migration = /*#__PURE__*/ function() {
|
|
34
|
+
function Migration(filePath) {
|
|
35
|
+
_class_call_check(this, Migration);
|
|
36
|
+
this.filePath = filePath;
|
|
37
|
+
}
|
|
38
|
+
_create_class(Migration, [
|
|
39
|
+
{
|
|
40
|
+
key: "getSQL",
|
|
41
|
+
value: function getSQL() {
|
|
42
|
+
var fileContent = readFile(this.filePath), sql = fileContent; ///
|
|
43
|
+
return sql;
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
key: "getVersion",
|
|
48
|
+
value: function getVersion() {
|
|
49
|
+
var matches = this.filePath.match(/(\d+)-.+$/), secondMatch = second(matches), version = secondMatch; ///
|
|
50
|
+
return version;
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
key: "apply",
|
|
55
|
+
value: function apply(connection, callback) {
|
|
56
|
+
var log = connection.getLog(), sql = this.getSQL(), version = this.getVersion();
|
|
57
|
+
log.info("Applying migration version ".concat(version, "..."));
|
|
58
|
+
(0, _database.execute)(connection, sql, function(error) {
|
|
59
|
+
error ? log.error("...failed!") : log.debug("...success!");
|
|
60
|
+
callback(error);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
], [
|
|
65
|
+
{
|
|
66
|
+
key: "fromFilePath",
|
|
67
|
+
value: function fromFilePath(filePath) {
|
|
68
|
+
var migration = new Migration(filePath);
|
|
69
|
+
return migration;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
]);
|
|
73
|
+
return Migration;
|
|
74
|
+
}();
|
|
75
|
+
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWdyYXRlL21pZ3JhdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMsIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IGV4ZWN1dGUgfSBmcm9tIFwiLi4vZGF0YWJhc2VcIjtcblxuY29uc3QgeyBzZWNvbmQgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyByZWFkRmlsZSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWlncmF0aW9uIHtcbiAgY29uc3RydWN0b3IoZmlsZVBhdGgpIHtcbiAgICB0aGlzLmZpbGVQYXRoID0gZmlsZVBhdGg7XG4gIH1cblxuICBnZXRTUUwoKSB7XG4gICAgY29uc3QgZmlsZUNvbnRlbnQgPSByZWFkRmlsZSh0aGlzLmZpbGVQYXRoKSxcbiAgICAgICAgICBzcWwgPSBmaWxlQ29udGVudDsgIC8vL1xuXG4gICAgcmV0dXJuIHNxbDtcbiAgfVxuICBcbiAgZ2V0VmVyc2lvbigpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gdGhpcy5maWxlUGF0aC5tYXRjaCgvKFxcZCspLS4rJC8pLFxuICAgICAgICAgIHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpLFxuICAgICAgICAgIHZlcnNpb24gPSBzZWNvbmRNYXRjaDsgIC8vL1xuXG4gICAgcmV0dXJuIHZlcnNpb247XG4gIH1cbiAgXG4gIGFwcGx5KGNvbm5lY3Rpb24sIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgbG9nID0gY29ubmVjdGlvbi5nZXRMb2coKSxcbiAgICAgICAgICBzcWwgPSB0aGlzLmdldFNRTCgpLFxuICAgICAgICAgIHZlcnNpb24gPSB0aGlzLmdldFZlcnNpb24oKTtcblxuICAgIGxvZy5pbmZvKGBBcHBseWluZyBtaWdyYXRpb24gdmVyc2lvbiAke3ZlcnNpb259Li4uYCk7XG5cbiAgICBleGVjdXRlKGNvbm5lY3Rpb24sIHNxbCwgKGVycm9yKSA9PiB7XG4gICAgICBlcnJvciA/XG4gICAgICAgIGxvZy5lcnJvcihcIi4uLmZhaWxlZCFcIikgOlxuICAgICAgICAgIGxvZy5kZWJ1ZyhcIi4uLnN1Y2Nlc3MhXCIpO1xuXG4gICAgICBjYWxsYmFjayhlcnJvcik7XG4gICAgfSk7XG4gIH1cbiAgXG4gIHN0YXRpYyBmcm9tRmlsZVBhdGgoZmlsZVBhdGgpIHtcbiAgICBjb25zdCBtaWdyYXRpb24gPSBuZXcgTWlncmF0aW9uKGZpbGVQYXRoKTtcbiAgICBcbiAgICByZXR1cm4gbWlncmF0aW9uO1xuICB9XG59XG4iXSwibmFtZXMiOlsiTWlncmF0aW9uIiwic2Vjb25kIiwiYXJyYXlVdGlsaXRpZXMiLCJyZWFkRmlsZSIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJmaWxlUGF0aCIsImdldFNRTCIsImZpbGVDb250ZW50Iiwic3FsIiwiZ2V0VmVyc2lvbiIsIm1hdGNoZXMiLCJtYXRjaCIsInNlY29uZE1hdGNoIiwidmVyc2lvbiIsImFwcGx5IiwiY29ubmVjdGlvbiIsImNhbGxiYWNrIiwibG9nIiwiZ2V0TG9nIiwiaW5mbyIsImV4ZWN1dGUiLCJlcnJvciIsImRlYnVnIiwiZnJvbUZpbGVQYXRoIiwibWlncmF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7Ozt5QkFQK0I7d0JBRTVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4QixJQUFNLEFBQUVDLFNBQVdDLHlCQUFjLENBQXpCRCxRQUNGLEFBQUVFLFdBQWFDLDhCQUFtQixDQUFoQ0Q7QUFFTyxJQUFBLEFBQU1ILDBCQUFOO2FBQU1BLFVBQ1BLLFFBQVE7Z0NBRERMO1FBRWpCLElBQUksQ0FBQ0ssUUFBUSxHQUFHQTs7a0JBRkNMOztZQUtuQk0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGNBQWNKLFNBQVMsSUFBSSxDQUFDRSxRQUFRLEdBQ3BDRyxNQUFNRCxhQUFjLEdBQUc7Z0JBRTdCLE9BQU9DO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsVUFBVSxJQUFJLENBQUNMLFFBQVEsQ0FBQ00sS0FBSyxDQUFDLGNBQzlCQyxjQUFjWCxPQUFPUyxVQUNyQkcsVUFBVUQsYUFBYyxHQUFHO2dCQUVqQyxPQUFPQztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1DLFVBQVUsRUFBRUMsUUFBUTtnQkFDeEIsSUFBTUMsTUFBTUYsV0FBV0csTUFBTSxJQUN2QlYsTUFBTSxJQUFJLENBQUNGLE1BQU0sSUFDakJPLFVBQVUsSUFBSSxDQUFDSixVQUFVO2dCQUUvQlEsSUFBSUUsSUFBSSxDQUFDLEFBQUMsOEJBQXFDLE9BQVJOLFNBQVE7Z0JBRS9DTyxJQUFBQSxpQkFBTyxFQUFDTCxZQUFZUCxLQUFLLFNBQUNhO29CQUN4QkEsUUFDRUosSUFBSUksS0FBSyxDQUFDLGdCQUNSSixJQUFJSyxLQUFLLENBQUM7b0JBRWROLFNBQVNLO2dCQUNYO1lBQ0Y7Ozs7WUFFT0UsS0FBQUE7bUJBQVAsU0FBT0EsYUFBYWxCLFFBQVE7Z0JBQzFCLElBQU1tQixZQUFZLElBckNEeEIsVUFxQ2VLO2dCQUVoQyxPQUFPbUI7WUFDVDs7O1dBeENtQnhCIn0=
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return Migrations;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _necessary = require("necessary");
|
|
12
|
+
var _migration = /*#__PURE__*/ _interop_require_default(require("./migration"));
|
|
13
|
+
function _class_call_check(instance, Constructor) {
|
|
14
|
+
if (!(instance instanceof Constructor)) {
|
|
15
|
+
throw new TypeError("Cannot call a class as a function");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function _defineProperties(target, props) {
|
|
19
|
+
for(var i = 0; i < props.length; i++){
|
|
20
|
+
var descriptor = props[i];
|
|
21
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
22
|
+
descriptor.configurable = true;
|
|
23
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
24
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
28
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
29
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
+
return Constructor;
|
|
31
|
+
}
|
|
32
|
+
function _interop_require_default(obj) {
|
|
33
|
+
return obj && obj.__esModule ? obj : {
|
|
34
|
+
default: obj
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
var readDirectory = _necessary.fileSystemUtilities.readDirectory, concatenatePaths = _necessary.pathUtilities.concatenatePaths;
|
|
38
|
+
var Migrations = /*#__PURE__*/ function() {
|
|
39
|
+
function Migrations(map) {
|
|
40
|
+
_class_call_check(this, Migrations);
|
|
41
|
+
this.map = map;
|
|
42
|
+
}
|
|
43
|
+
_create_class(Migrations, [
|
|
44
|
+
{
|
|
45
|
+
key: "retrieveMigration",
|
|
46
|
+
value: function retrieveMigration(version) {
|
|
47
|
+
var migration = this.map[version] || null;
|
|
48
|
+
return migration;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
], [
|
|
52
|
+
{
|
|
53
|
+
key: "fromCustomMigrationMapAndMigrationsDirectoryPath",
|
|
54
|
+
value: function fromCustomMigrationMapAndMigrationsDirectoryPath(CustomMigrationMap, migrationsDirectoryPath) {
|
|
55
|
+
var map = {}, entryNames = readDirectory(migrationsDirectoryPath), sqlFileNames = sqlFileNamesFromEntryNames(entryNames), customTextFileNames = customTextFileNamesFromEEntryNames(entryNames);
|
|
56
|
+
sqlFileNames.forEach(function(sqlFileName) {
|
|
57
|
+
var filePath = concatenatePaths(migrationsDirectoryPath, sqlFileName), migration = _migration.default.fromFilePath(filePath), version = migration.getVersion();
|
|
58
|
+
map[version] = migration;
|
|
59
|
+
});
|
|
60
|
+
customTextFileNames.forEach(function(customTextFileName) {
|
|
61
|
+
var filePath = concatenatePaths(migrationsDirectoryPath, customTextFileName), CustomMigration = CustomMigrationMap[customTextFileName], customMigration = CustomMigration.fromFilePath(filePath), migration = customMigration, version = migration.getVersion();
|
|
62
|
+
map[version] = migration;
|
|
63
|
+
});
|
|
64
|
+
var migrations = new Migrations(map);
|
|
65
|
+
return migrations;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
]);
|
|
69
|
+
return Migrations;
|
|
70
|
+
}();
|
|
71
|
+
function customTextFileNamesFromEEntryNames(entryNames) {
|
|
72
|
+
return fileNamesFromEntryNames(entryNames, function(entryName) {
|
|
73
|
+
return /.+CUSTOM\.txt$/.test(entryName);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function sqlFileNamesFromEntryNames(entryNames) {
|
|
77
|
+
return fileNamesFromEntryNames(entryNames, function(entryName) {
|
|
78
|
+
return /.+\.sql$/.test(entryName);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function fileNamesFromEntryNames(entryNames, test) {
|
|
82
|
+
var fileNames = entryNames.reduce(function(fileNames, entryName) {
|
|
83
|
+
var entryNameSQLFileName = test(entryName);
|
|
84
|
+
if (entryNameSQLFileName) {
|
|
85
|
+
var fileName = entryName;
|
|
86
|
+
fileNames.push(fileName);
|
|
87
|
+
}
|
|
88
|
+
return fileNames;
|
|
89
|
+
}, []);
|
|
90
|
+
return fileNames;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taWdyYXRlL21pZ3JhdGlvbnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHBhdGhVdGlsaXRpZXMsIGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBNaWdyYXRpb24gZnJvbSBcIi4vbWlncmF0aW9uXCI7XG5cbmNvbnN0IHsgcmVhZERpcmVjdG9yeSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcyxcbiAgICAgIHsgY29uY2F0ZW5hdGVQYXRocyB9ID0gcGF0aFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWlncmF0aW9ucyB7XG4gIGNvbnN0cnVjdG9yKG1hcCkge1xuICAgIHRoaXMubWFwID0gbWFwO1xuICB9XG5cbiAgcmV0cmlldmVNaWdyYXRpb24odmVyc2lvbikge1xuICAgIGNvbnN0IG1pZ3JhdGlvbiA9IHRoaXMubWFwW3ZlcnNpb25dIHx8IG51bGw7XG5cbiAgICByZXR1cm4gbWlncmF0aW9uO1xuICB9XG4gIFxuICBzdGF0aWMgZnJvbUN1c3RvbU1pZ3JhdGlvbk1hcEFuZE1pZ3JhdGlvbnNEaXJlY3RvcnlQYXRoKEN1c3RvbU1pZ3JhdGlvbk1hcCwgbWlncmF0aW9uc0RpcmVjdG9yeVBhdGgpIHtcbiAgICBjb25zdCBtYXAgPSB7fSxcbiAgICAgICAgICBlbnRyeU5hbWVzID0gcmVhZERpcmVjdG9yeShtaWdyYXRpb25zRGlyZWN0b3J5UGF0aCksXG4gICAgICAgICAgc3FsRmlsZU5hbWVzID0gc3FsRmlsZU5hbWVzRnJvbUVudHJ5TmFtZXMoZW50cnlOYW1lcyksXG4gICAgICAgICAgY3VzdG9tVGV4dEZpbGVOYW1lcyA9IGN1c3RvbVRleHRGaWxlTmFtZXNGcm9tRUVudHJ5TmFtZXMoZW50cnlOYW1lcyk7XG5cbiAgICBzcWxGaWxlTmFtZXMuZm9yRWFjaCgoc3FsRmlsZU5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhtaWdyYXRpb25zRGlyZWN0b3J5UGF0aCwgc3FsRmlsZU5hbWUpLFxuICAgICAgICAgICAgbWlncmF0aW9uID0gTWlncmF0aW9uLmZyb21GaWxlUGF0aChmaWxlUGF0aCksXG4gICAgICAgICAgICB2ZXJzaW9uID0gbWlncmF0aW9uLmdldFZlcnNpb24oKTtcblxuICAgICAgbWFwW3ZlcnNpb25dID0gbWlncmF0aW9uO1xuICAgIH0pO1xuXG4gICAgY3VzdG9tVGV4dEZpbGVOYW1lcy5mb3JFYWNoKChjdXN0b21UZXh0RmlsZU5hbWUpID0+IHtcbiAgICAgIGNvbnN0IGZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhtaWdyYXRpb25zRGlyZWN0b3J5UGF0aCwgY3VzdG9tVGV4dEZpbGVOYW1lKSxcbiAgICAgICAgICAgIEN1c3RvbU1pZ3JhdGlvbiA9IEN1c3RvbU1pZ3JhdGlvbk1hcFtjdXN0b21UZXh0RmlsZU5hbWVdLFxuICAgICAgICAgICAgY3VzdG9tTWlncmF0aW9uID0gQ3VzdG9tTWlncmF0aW9uLmZyb21GaWxlUGF0aChmaWxlUGF0aCksXG4gICAgICAgICAgICBtaWdyYXRpb24gPSBjdXN0b21NaWdyYXRpb24sICAvLy9cbiAgICAgICAgICAgIHZlcnNpb24gPSBtaWdyYXRpb24uZ2V0VmVyc2lvbigpO1xuXG4gICAgICBtYXBbdmVyc2lvbl0gPSBtaWdyYXRpb247XG4gICAgfSk7XG5cbiAgICBjb25zdCBtaWdyYXRpb25zID0gbmV3IE1pZ3JhdGlvbnMobWFwKTtcblxuICAgIHJldHVybiBtaWdyYXRpb25zO1xuICB9XG59XG5cbmZ1bmN0aW9uIGN1c3RvbVRleHRGaWxlTmFtZXNGcm9tRUVudHJ5TmFtZXMoZW50cnlOYW1lcykgeyByZXR1cm4gZmlsZU5hbWVzRnJvbUVudHJ5TmFtZXMoZW50cnlOYW1lcywgKGVudHJ5TmFtZSkgPT4gLy4rQ1VTVE9NXFwudHh0JC8udGVzdChlbnRyeU5hbWUpKTsgfVxuXG5mdW5jdGlvbiBzcWxGaWxlTmFtZXNGcm9tRW50cnlOYW1lcyhlbnRyeU5hbWVzKSB7IHJldHVybiBmaWxlTmFtZXNGcm9tRW50cnlOYW1lcyhlbnRyeU5hbWVzLCAoZW50cnlOYW1lKSA9PiAvLitcXC5zcWwkLy50ZXN0KGVudHJ5TmFtZSkpOyB9XG5cbmZ1bmN0aW9uIGZpbGVOYW1lc0Zyb21FbnRyeU5hbWVzKGVudHJ5TmFtZXMsIHRlc3QpIHtcbiAgY29uc3QgZmlsZU5hbWVzID0gZW50cnlOYW1lcy5yZWR1Y2UoKGZpbGVOYW1lcywgZW50cnlOYW1lKSA9PiB7XG4gICAgY29uc3QgZW50cnlOYW1lU1FMRmlsZU5hbWUgPSB0ZXN0KGVudHJ5TmFtZSk7XG5cbiAgICBpZiAoZW50cnlOYW1lU1FMRmlsZU5hbWUpIHtcbiAgICAgIGNvbnN0IGZpbGVOYW1lID0gZW50cnlOYW1lO1xuXG4gICAgICBmaWxlTmFtZXMucHVzaChmaWxlTmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbGVOYW1lcztcbiAgfSwgW10pO1xuXG4gIHJldHVybiBmaWxlTmFtZXM7XG59XG4iXSwibmFtZXMiOlsiTWlncmF0aW9ucyIsInJlYWREaXJlY3RvcnkiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwiY29uY2F0ZW5hdGVQYXRocyIsInBhdGhVdGlsaXRpZXMiLCJtYXAiLCJyZXRyaWV2ZU1pZ3JhdGlvbiIsInZlcnNpb24iLCJtaWdyYXRpb24iLCJmcm9tQ3VzdG9tTWlncmF0aW9uTWFwQW5kTWlncmF0aW9uc0RpcmVjdG9yeVBhdGgiLCJDdXN0b21NaWdyYXRpb25NYXAiLCJtaWdyYXRpb25zRGlyZWN0b3J5UGF0aCIsImVudHJ5TmFtZXMiLCJzcWxGaWxlTmFtZXMiLCJzcWxGaWxlTmFtZXNGcm9tRW50cnlOYW1lcyIsImN1c3RvbVRleHRGaWxlTmFtZXMiLCJjdXN0b21UZXh0RmlsZU5hbWVzRnJvbUVFbnRyeU5hbWVzIiwiZm9yRWFjaCIsInNxbEZpbGVOYW1lIiwiZmlsZVBhdGgiLCJNaWdyYXRpb24iLCJmcm9tRmlsZVBhdGgiLCJnZXRWZXJzaW9uIiwiY3VzdG9tVGV4dEZpbGVOYW1lIiwiQ3VzdG9tTWlncmF0aW9uIiwiY3VzdG9tTWlncmF0aW9uIiwibWlncmF0aW9ucyIsImZpbGVOYW1lc0Zyb21FbnRyeU5hbWVzIiwiZW50cnlOYW1lIiwidGVzdCIsImZpbGVOYW1lcyIsInJlZHVjZSIsImVudHJ5TmFtZVNRTEZpbGVOYW1lIiwiZmlsZU5hbWUiLCJwdXNoIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7Ozt5QkFQOEI7Z0VBRTdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRCLElBQU0sQUFBRUMsZ0JBQWtCQyw4QkFBbUIsQ0FBckNELGVBQ0YsQUFBRUUsbUJBQXFCQyx3QkFBYSxDQUFsQ0Q7QUFFTyxJQUFBLEFBQU1ILDJCQUFOO2FBQU1BLFdBQ1BLLEdBQUc7Z0NBRElMO1FBRWpCLElBQUksQ0FBQ0ssR0FBRyxHQUFHQTs7a0JBRk1MOztZQUtuQk0sS0FBQUE7bUJBQUFBLFNBQUFBLGtCQUFrQkMsT0FBTztnQkFDdkIsSUFBTUMsWUFBWSxJQUFJLENBQUNILEdBQUcsQ0FBQ0UsUUFBUSxJQUFJO2dCQUV2QyxPQUFPQztZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGlEQUFpREMsa0JBQWtCLEVBQUVDLHVCQUF1QjtnQkFDakcsSUFBTU4sTUFBTSxDQUFDLEdBQ1BPLGFBQWFYLGNBQWNVLDBCQUMzQkUsZUFBZUMsMkJBQTJCRixhQUMxQ0csc0JBQXNCQyxtQ0FBbUNKO2dCQUUvREMsYUFBYUksT0FBTyxDQUFDLFNBQUNDO29CQUNwQixJQUFNQyxXQUFXaEIsaUJBQWlCUSx5QkFBeUJPLGNBQ3JEVixZQUFZWSxrQkFBUyxDQUFDQyxZQUFZLENBQUNGLFdBQ25DWixVQUFVQyxVQUFVYyxVQUFVO29CQUVwQ2pCLEdBQUcsQ0FBQ0UsUUFBUSxHQUFHQztnQkFDakI7Z0JBRUFPLG9CQUFvQkUsT0FBTyxDQUFDLFNBQUNNO29CQUMzQixJQUFNSixXQUFXaEIsaUJBQWlCUSx5QkFBeUJZLHFCQUNyREMsa0JBQWtCZCxrQkFBa0IsQ0FBQ2EsbUJBQW1CLEVBQ3hERSxrQkFBa0JELGdCQUFnQkgsWUFBWSxDQUFDRixXQUMvQ1gsWUFBWWlCLGlCQUNabEIsVUFBVUMsVUFBVWMsVUFBVTtvQkFFcENqQixHQUFHLENBQUNFLFFBQVEsR0FBR0M7Z0JBQ2pCO2dCQUVBLElBQU1rQixhQUFhLElBbkNGMUIsV0FtQ2lCSztnQkFFbEMsT0FBT3FCO1lBQ1Q7OztXQXRDbUIxQjs7QUF5Q3JCLFNBQVNnQixtQ0FBbUNKLFVBQVU7SUFBSSxPQUFPZSx3QkFBd0JmLFlBQVksU0FBQ2dCO2VBQWMsaUJBQWlCQyxJQUFJLENBQUNEOztBQUFhO0FBRXZKLFNBQVNkLDJCQUEyQkYsVUFBVTtJQUFJLE9BQU9lLHdCQUF3QmYsWUFBWSxTQUFDZ0I7ZUFBYyxXQUFXQyxJQUFJLENBQUNEOztBQUFhO0FBRXpJLFNBQVNELHdCQUF3QmYsVUFBVSxFQUFFaUIsSUFBSTtJQUMvQyxJQUFNQyxZQUFZbEIsV0FBV21CLE1BQU0sQ0FBQyxTQUFDRCxXQUFXRjtRQUM5QyxJQUFNSSx1QkFBdUJILEtBQUtEO1FBRWxDLElBQUlJLHNCQUFzQjtZQUN4QixJQUFNQyxXQUFXTDtZQUVqQkUsVUFBVUksSUFBSSxDQUFDRDtRQUNqQjtRQUVBLE9BQU9IO0lBQ1QsR0FBRyxFQUFFO0lBRUwsT0FBT0E7QUFDVCJ9
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return applyMigrationsOperation;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _necessary = require("necessary");
|
|
12
|
+
var _migrations = /*#__PURE__*/ _interop_require_default(require("../migrations"));
|
|
13
|
+
var _transaction = /*#__PURE__*/ _interop_require_default(require("../../transaction"));
|
|
14
|
+
var _migration = require("../../table/migration");
|
|
15
|
+
function _interop_require_default(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
var first = _necessary.arrayUtilities.first, whilst = _necessary.asynchronousUtilities.whilst;
|
|
21
|
+
function applyMigrationsOperation(next, done, context) {
|
|
22
|
+
var configuration = context.configuration, CustomMigrationMap = context.CustomMigrationMap, migrationsDirectoryPath = context.migrationsDirectoryPath, migrations = _migrations.default.fromCustomMigrationMapAndMigrationsDirectoryPath(CustomMigrationMap, migrationsDirectoryPath), log = configuration.log;
|
|
23
|
+
if (log) {
|
|
24
|
+
log.debug("Apply migrations...");
|
|
25
|
+
}
|
|
26
|
+
Object.assign(context, {
|
|
27
|
+
migrations: migrations
|
|
28
|
+
});
|
|
29
|
+
whilst(applyMigrationOperation, function() {
|
|
30
|
+
delete context.migrations;
|
|
31
|
+
done();
|
|
32
|
+
}, context);
|
|
33
|
+
}
|
|
34
|
+
function applyMigrationOperation(next, done, context) {
|
|
35
|
+
var configuration = context.configuration, log = configuration.log;
|
|
36
|
+
if (log) {
|
|
37
|
+
log.debug("Apply migration...");
|
|
38
|
+
}
|
|
39
|
+
var operations = [
|
|
40
|
+
getVersion,
|
|
41
|
+
applyMigration,
|
|
42
|
+
updateVersion
|
|
43
|
+
];
|
|
44
|
+
(0, _transaction.default)(configuration, operations, function(completed) {
|
|
45
|
+
var error = !completed;
|
|
46
|
+
if (error) {
|
|
47
|
+
if (log) {
|
|
48
|
+
log.error("...not completed.");
|
|
49
|
+
}
|
|
50
|
+
Object.assign(context, {
|
|
51
|
+
error: error
|
|
52
|
+
});
|
|
53
|
+
done();
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
var finished = context.finished;
|
|
57
|
+
delete context.finished;
|
|
58
|
+
finished ? done() : next();
|
|
59
|
+
}, context);
|
|
60
|
+
}
|
|
61
|
+
function getVersion(connection, abort, proceed, complete, context) {
|
|
62
|
+
var configuration = context.configuration, migrationSQLMap = configuration.migrationSQLMap, selectMaximumVersionMigrationSQL = migrationSQLMap.selectMaximumVersionMigrationSQL, sql = selectMaximumVersionMigrationSQL, log = connection.getLog();
|
|
63
|
+
log.debug("Get version....");
|
|
64
|
+
(0, _migration.selectMaximumVersion)(connection, sql, function(error, rows) {
|
|
65
|
+
if (error) {
|
|
66
|
+
abort();
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
var firstRow = first(rows), maximum_version = firstRow.maximum_version, version = maximum_version; ///
|
|
70
|
+
Object.assign(context, {
|
|
71
|
+
version: version
|
|
72
|
+
});
|
|
73
|
+
proceed();
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function updateVersion(connection, abort, proceed, complete, context) {
|
|
77
|
+
var configuration = context.configuration, migrationSQLMap = configuration.migrationSQLMap, insertVersionMigrationSQL = migrationSQLMap.insertVersionMigrationSQL, sql = insertVersionMigrationSQL, log = connection.getLog();
|
|
78
|
+
log.debug("Update version...");
|
|
79
|
+
var version = context.version;
|
|
80
|
+
delete context.version;
|
|
81
|
+
(0, _migration.insertVersion)(connection, version, sql, function(error) {
|
|
82
|
+
error ? abort() : proceed();
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function applyMigration(connection, abort, proceed, complete, context) {
|
|
86
|
+
var version = context.version, migrations = context.migrations;
|
|
87
|
+
delete context.version;
|
|
88
|
+
var migration = migrations.retrieveMigration(++version), finished = migration === null;
|
|
89
|
+
Object.assign(context, {
|
|
90
|
+
finished: finished
|
|
91
|
+
});
|
|
92
|
+
if (finished) {
|
|
93
|
+
complete();
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
var log = connection.getLog();
|
|
97
|
+
log.debug("Apply migration...");
|
|
98
|
+
migration.apply(connection, function(error) {
|
|
99
|
+
if (error) {
|
|
100
|
+
abort();
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
Object.assign(context, {
|
|
104
|
+
version: version
|
|
105
|
+
});
|
|
106
|
+
proceed();
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taWdyYXRlL29wZXJhdGlvbi9hcHBseU1pZ3JhdGlvbnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzLCBhc3luY2hyb25vdXNVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBNaWdyYXRpb25zIGZyb20gXCIuLi9taWdyYXRpb25zXCI7XG5pbXBvcnQgdHJhbnNhY3Rpb24gZnJvbSBcIi4uLy4uL3RyYW5zYWN0aW9uXCI7XG5cbmltcG9ydCB7IGluc2VydFZlcnNpb24sIHNlbGVjdE1heGltdW1WZXJzaW9uIH0gZnJvbSBcIi4uLy4uL3RhYmxlL21pZ3JhdGlvblwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgd2hpbHN0IH0gPSBhc3luY2hyb25vdXNVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFwcGx5TWlncmF0aW9uc09wZXJhdGlvbihuZXh0LCBkb25lLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgY29uZmlndXJhdGlvbiwgQ3VzdG9tTWlncmF0aW9uTWFwLCBtaWdyYXRpb25zRGlyZWN0b3J5UGF0aCB9ID0gY29udGV4dCxcbiAgICAgICAgbWlncmF0aW9ucyA9IE1pZ3JhdGlvbnMuZnJvbUN1c3RvbU1pZ3JhdGlvbk1hcEFuZE1pZ3JhdGlvbnNEaXJlY3RvcnlQYXRoKEN1c3RvbU1pZ3JhdGlvbk1hcCwgbWlncmF0aW9uc0RpcmVjdG9yeVBhdGgpLFxuICAgICAgICB7IGxvZyB9ID0gY29uZmlndXJhdGlvbjtcblxuICBpZiAobG9nKSB7XG4gICAgbG9nLmRlYnVnKFwiQXBwbHkgbWlncmF0aW9ucy4uLlwiKTtcbiAgfVxuXG4gIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgIG1pZ3JhdGlvbnNcbiAgfSk7XG5cbiAgd2hpbHN0KGFwcGx5TWlncmF0aW9uT3BlcmF0aW9uLCAoKSA9PiB7XG4gICAgZGVsZXRlIGNvbnRleHQubWlncmF0aW9ucztcblxuICAgIGRvbmUoKTtcbiAgfSwgY29udGV4dCk7XG59XG5cbmZ1bmN0aW9uIGFwcGx5TWlncmF0aW9uT3BlcmF0aW9uKG5leHQsIGRvbmUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBjb25maWd1cmF0aW9uIH0gPSBjb250ZXh0LFxuICAgICAgICB7IGxvZyB9ID0gY29uZmlndXJhdGlvbjtcblxuICBpZiAobG9nKSB7XG4gICAgbG9nLmRlYnVnKFwiQXBwbHkgbWlncmF0aW9uLi4uXCIpO1xuICB9XG5cbiAgY29uc3Qgb3BlcmF0aW9ucyA9IFtcbiAgICBnZXRWZXJzaW9uLFxuICAgIGFwcGx5TWlncmF0aW9uLFxuICAgIHVwZGF0ZVZlcnNpb25cbiAgXTtcblxuICB0cmFuc2FjdGlvbihjb25maWd1cmF0aW9uLCBvcGVyYXRpb25zLCAoY29tcGxldGVkKSA9PiB7XG4gICAgY29uc3QgZXJyb3IgPSAhY29tcGxldGVkO1xuXG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBpZiAobG9nKSB7XG4gICAgICAgIGxvZy5lcnJvcihcIi4uLm5vdCBjb21wbGV0ZWQuXCIpO1xuICAgICAgfVxuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgZXJyb3JcbiAgICAgIH0pO1xuXG4gICAgICBkb25lKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGZpbmlzaGVkIH0gPSBjb250ZXh0O1xuXG4gICAgZGVsZXRlIGNvbnRleHQuZmluaXNoZWQ7XG5cbiAgICBmaW5pc2hlZCA/XG4gICAgICBkb25lKCkgOlxuICAgICAgICBuZXh0KCk7XG4gIH0sIGNvbnRleHQpO1xufVxuXG5mdW5jdGlvbiBnZXRWZXJzaW9uKGNvbm5lY3Rpb24sIGFib3J0LCBwcm9jZWVkLCBjb21wbGV0ZSwgY29udGV4dCkge1xuICBjb25zdCB7IGNvbmZpZ3VyYXRpb24gfSA9IGNvbnRleHQsXG4gICAgICAgIHsgbWlncmF0aW9uU1FMTWFwIH0gPSBjb25maWd1cmF0aW9uLFxuICAgICAgICB7IHNlbGVjdE1heGltdW1WZXJzaW9uTWlncmF0aW9uU1FMIH0gPSBtaWdyYXRpb25TUUxNYXAsXG4gICAgICAgIHNxbCA9IHNlbGVjdE1heGltdW1WZXJzaW9uTWlncmF0aW9uU1FMLCAvLy9cbiAgICAgICAgbG9nID0gY29ubmVjdGlvbi5nZXRMb2coKTtcblxuICBsb2cuZGVidWcoXCJHZXQgdmVyc2lvbi4uLi5cIik7XG5cbiAgc2VsZWN0TWF4aW11bVZlcnNpb24oY29ubmVjdGlvbiwgc3FsLCAoZXJyb3IsIHJvd3MpID0+IHtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIGFib3J0KCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdFJvdyA9IGZpcnN0KHJvd3MpLFxuICAgICAgICAgIHsgbWF4aW11bV92ZXJzaW9uIH0gPSBmaXJzdFJvdyxcbiAgICAgICAgICB2ZXJzaW9uID0gbWF4aW11bV92ZXJzaW9uOyAgLy8vXG5cbiAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgIHZlcnNpb25cbiAgICB9KTtcblxuICAgIHByb2NlZWQoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVZlcnNpb24oY29ubmVjdGlvbiwgYWJvcnQsIHByb2NlZWQsIGNvbXBsZXRlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgY29uZmlndXJhdGlvbiB9ID0gY29udGV4dCxcbiAgICAgICAgeyBtaWdyYXRpb25TUUxNYXAgfSA9IGNvbmZpZ3VyYXRpb24sXG4gICAgICAgIHsgaW5zZXJ0VmVyc2lvbk1pZ3JhdGlvblNRTCB9ID0gbWlncmF0aW9uU1FMTWFwLFxuICAgICAgICBzcWwgPSBpbnNlcnRWZXJzaW9uTWlncmF0aW9uU1FMLCAgLy8vXG4gICAgICAgIGxvZyA9IGNvbm5lY3Rpb24uZ2V0TG9nKCk7XG5cbiAgbG9nLmRlYnVnKFwiVXBkYXRlIHZlcnNpb24uLi5cIik7XG5cbiAgY29uc3QgeyB2ZXJzaW9uIH0gPSBjb250ZXh0O1xuXG4gIGRlbGV0ZSBjb250ZXh0LnZlcnNpb247XG5cbiAgaW5zZXJ0VmVyc2lvbihjb25uZWN0aW9uLCB2ZXJzaW9uLCBzcWwsIChlcnJvcikgPT4ge1xuICAgIGVycm9yID9cbiAgICAgIGFib3J0KCkgOlxuICAgICAgICBwcm9jZWVkKCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhcHBseU1pZ3JhdGlvbihjb25uZWN0aW9uLCBhYm9ydCwgcHJvY2VlZCwgY29tcGxldGUsIGNvbnRleHQpIHtcbiAgbGV0IHsgdmVyc2lvbiwgbWlncmF0aW9ucyB9ID0gY29udGV4dDtcblxuICBkZWxldGUgY29udGV4dC52ZXJzaW9uO1xuXG4gIGNvbnN0IG1pZ3JhdGlvbiA9IG1pZ3JhdGlvbnMucmV0cmlldmVNaWdyYXRpb24oKyt2ZXJzaW9uKSwgIC8vL1xuICAgICAgICBmaW5pc2hlZCA9IChtaWdyYXRpb24gPT09IG51bGwpO1xuXG4gIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgIGZpbmlzaGVkXG4gIH0pO1xuXG4gIGlmIChmaW5pc2hlZCkge1xuICAgIGNvbXBsZXRlKCk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBsb2cgPSBjb25uZWN0aW9uLmdldExvZygpO1xuXG4gIGxvZy5kZWJ1ZyhcIkFwcGx5IG1pZ3JhdGlvbi4uLlwiKTtcblxuICBtaWdyYXRpb24uYXBwbHkoY29ubmVjdGlvbiwgKGVycm9yKSA9PiB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBhYm9ydCgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICB2ZXJzaW9uXG4gICAgfSk7XG5cbiAgICBwcm9jZWVkKCk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImFwcGx5TWlncmF0aW9uc09wZXJhdGlvbiIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJ3aGlsc3QiLCJhc3luY2hyb25vdXNVdGlsaXRpZXMiLCJuZXh0IiwiZG9uZSIsImNvbnRleHQiLCJjb25maWd1cmF0aW9uIiwiQ3VzdG9tTWlncmF0aW9uTWFwIiwibWlncmF0aW9uc0RpcmVjdG9yeVBhdGgiLCJtaWdyYXRpb25zIiwiTWlncmF0aW9ucyIsImZyb21DdXN0b21NaWdyYXRpb25NYXBBbmRNaWdyYXRpb25zRGlyZWN0b3J5UGF0aCIsImxvZyIsImRlYnVnIiwiT2JqZWN0IiwiYXNzaWduIiwiYXBwbHlNaWdyYXRpb25PcGVyYXRpb24iLCJvcGVyYXRpb25zIiwiZ2V0VmVyc2lvbiIsImFwcGx5TWlncmF0aW9uIiwidXBkYXRlVmVyc2lvbiIsInRyYW5zYWN0aW9uIiwiY29tcGxldGVkIiwiZXJyb3IiLCJmaW5pc2hlZCIsImNvbm5lY3Rpb24iLCJhYm9ydCIsInByb2NlZWQiLCJjb21wbGV0ZSIsIm1pZ3JhdGlvblNRTE1hcCIsInNlbGVjdE1heGltdW1WZXJzaW9uTWlncmF0aW9uU1FMIiwic3FsIiwiZ2V0TG9nIiwic2VsZWN0TWF4aW11bVZlcnNpb24iLCJyb3dzIiwiZmlyc3RSb3ciLCJtYXhpbXVtX3ZlcnNpb24iLCJ2ZXJzaW9uIiwiaW5zZXJ0VmVyc2lvbk1pZ3JhdGlvblNRTCIsImluc2VydFZlcnNpb24iLCJtaWdyYXRpb24iLCJyZXRyaWV2ZU1pZ3JhdGlvbiIsImFwcGx5Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXdCQTs7O3lCQVY4QjtpRUFFL0I7a0VBQ0M7eUJBRTRCOzs7Ozs7QUFFcEQsSUFBTSxBQUFFQyxRQUFVQyx5QkFBYyxDQUF4QkQsT0FDRixBQUFFRSxTQUFXQyxnQ0FBcUIsQ0FBaENEO0FBRU8sU0FBU0gseUJBQXlCSyxJQUFJLEVBQUVDLElBQUksRUFBRUMsT0FBTztJQUNsRSxJQUFRQyxnQkFBK0RELFFBQS9EQyxlQUFlQyxxQkFBZ0RGLFFBQWhERSxvQkFBb0JDLDBCQUE0QkgsUUFBNUJHLHlCQUNyQ0MsYUFBYUMsbUJBQVUsQ0FBQ0MsZ0RBQWdELENBQUNKLG9CQUFv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
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return initialiseOperation;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _transaction = /*#__PURE__*/ _interop_require_default(require("../../transaction"));
|
|
12
|
+
var _migration = require("../../table/migration");
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function initialiseOperation(next, done, context) {
|
|
19
|
+
var configuration = context.configuration, log = configuration.log;
|
|
20
|
+
if (log) {
|
|
21
|
+
log.debug("Initialise...");
|
|
22
|
+
}
|
|
23
|
+
var operations = [
|
|
24
|
+
checkTablePresentOperatino,
|
|
25
|
+
createMissingTableOperation,
|
|
26
|
+
insertZeroVersionOperation
|
|
27
|
+
];
|
|
28
|
+
(0, _transaction.default)(configuration, operations, function(completed) {
|
|
29
|
+
var error = !completed;
|
|
30
|
+
if (error) {
|
|
31
|
+
if (log) {
|
|
32
|
+
log.error("...not completed.");
|
|
33
|
+
}
|
|
34
|
+
Object.assign(context, {
|
|
35
|
+
error: error
|
|
36
|
+
});
|
|
37
|
+
done();
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
next();
|
|
41
|
+
}, context);
|
|
42
|
+
}
|
|
43
|
+
function checkTablePresentOperatino(connection, abort, proceed, complete, context) {
|
|
44
|
+
var configuration = context.configuration, migrationSQLMap = configuration.migrationSQLMap, showLikeTablesMigrationSQL = migrationSQLMap.showLikeTablesMigrationSQL, sql = showLikeTablesMigrationSQL, log = connection.getLog();
|
|
45
|
+
log.debug("Check table present...");
|
|
46
|
+
(0, _migration.showLikeTables)(connection, sql, function(error, rows) {
|
|
47
|
+
if (error) {
|
|
48
|
+
abort();
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
var rowsLength = rows.length;
|
|
52
|
+
rowsLength === 1 ? complete() : proceed();
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function createMissingTableOperation(connection, abort, proceed, complete, context) {
|
|
56
|
+
var configuration = context.configuration, migrationSQLMap = configuration.migrationSQLMap, createTableMigrationSQL = migrationSQLMap.createTableMigrationSQL, sql = createTableMigrationSQL, log = connection.getLog();
|
|
57
|
+
log.debug("Create missing table...");
|
|
58
|
+
(0, _migration.createTable)(connection, sql, function(error) {
|
|
59
|
+
error ? abort() : proceed();
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function insertZeroVersionOperation(connection, abort, proceed, complete, context) {
|
|
63
|
+
var configuration = context.configuration, migrationSQLMap = configuration.migrationSQLMap, insertVersionMigrationSQL = migrationSQLMap.insertVersionMigrationSQL, sql = insertVersionMigrationSQL, log = connection.getLog();
|
|
64
|
+
log.debug("Inserting zero version...");
|
|
65
|
+
var version = 0;
|
|
66
|
+
(0, _migration.insertVersion)(connection, version, sql, function(error) {
|
|
67
|
+
error ? abort() : proceed();
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taWdyYXRlL29wZXJhdGlvbi9pbml0aWFsaXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdHJhbnNhY3Rpb24gZnJvbSBcIi4uLy4uL3RyYW5zYWN0aW9uXCI7XG5cbmltcG9ydCB7IGNyZWF0ZVRhYmxlLCBpbnNlcnRWZXJzaW9uLCBzaG93TGlrZVRhYmxlcyB9IGZyb20gXCIuLi8uLi90YWJsZS9taWdyYXRpb25cIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaW5pdGlhbGlzZU9wZXJhdGlvbihuZXh0LCBkb25lLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgY29uZmlndXJhdGlvbiB9ID0gY29udGV4dCxcbiAgICAgICAgeyBsb2cgfSA9IGNvbmZpZ3VyYXRpb247XG5cbiAgaWYgKGxvZykge1xuICAgIGxvZy5kZWJ1ZyhcIkluaXRpYWxpc2UuLi5cIik7XG4gIH1cblxuICBjb25zdCBvcGVyYXRpb25zID0gW1xuICAgIGNoZWNrVGFibGVQcmVzZW50T3BlcmF0aW5vLFxuICAgIGNyZWF0ZU1pc3NpbmdUYWJsZU9wZXJhdGlvbixcbiAgICBpbnNlcnRaZXJvVmVyc2lvbk9wZXJhdGlvblxuICBdO1xuXG4gIHRyYW5zYWN0aW9uKGNvbmZpZ3VyYXRpb24sIG9wZXJhdGlvbnMsIChjb21wbGV0ZWQpID0+IHtcbiAgICBjb25zdCBlcnJvciA9ICFjb21wbGV0ZWQ7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgbG9nLmVycm9yKFwiLi4ubm90IGNvbXBsZXRlZC5cIik7XG4gICAgICB9XG5cbiAgICAgIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgICAgICBlcnJvclxuICAgICAgfSk7XG5cbiAgICAgIGRvbmUoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5leHQoKTtcbiAgfSwgY29udGV4dCk7XG59XG5cbmZ1bmN0aW9uIGNoZWNrVGFibGVQcmVzZW50T3BlcmF0aW5vKGNvbm5lY3Rpb24sIGFib3J0LCBwcm9jZWVkLCBjb21wbGV0ZSwgY29udGV4dCkge1xuICBjb25zdCB7IGNvbmZpZ3VyYXRpb24gfSA9IGNvbnRleHQsXG4gICAgICAgIHsgbWlncmF0aW9uU1FMTWFwIH0gPSBjb25maWd1cmF0aW9uLFxuICAgICAgICB7IHNob3dMaWtlVGFibGVzTWlncmF0aW9uU1FMIH0gPSBtaWdyYXRpb25TUUxNYXAsXG4gICAgICAgIHNxbCA9IHNob3dMaWtlVGFibGVzTWlncmF0aW9uU1FMLCAvLy9cbiAgICAgICAgbG9nID0gY29ubmVjdGlvbi5nZXRMb2coKTtcblxuICBsb2cuZGVidWcoXCJDaGVjayB0YWJsZSBwcmVzZW50Li4uXCIpO1xuXG4gIHNob3dMaWtlVGFibGVzKGNvbm5lY3Rpb24sIHNxbCwgKGVycm9yLCByb3dzKSA9PiB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBhYm9ydCgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgcm93c0xlbmd0aCA9IHJvd3MubGVuZ3RoO1xuXG4gICAgKHJvd3NMZW5ndGggPT09IDEpID9cbiAgICAgIGNvbXBsZXRlKCkgOlxuICAgICAgICBwcm9jZWVkKCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVNaXNzaW5nVGFibGVPcGVyYXRpb24oY29ubmVjdGlvbiwgYWJvcnQsIHByb2NlZWQsIGNvbXBsZXRlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgY29uZmlndXJhdGlvbiB9ID0gY29udGV4dCxcbiAgICAgICAgeyBtaWdyYXRpb25TUUxNYXAgfSA9IGNvbmZpZ3VyYXRpb24sXG4gICAgICAgIHsgY3JlYXRlVGFibGVNaWdyYXRpb25TUUwgfSA9IG1pZ3JhdGlvblNRTE1hcCxcbiAgICAgICAgc3FsID0gY3JlYXRlVGFibGVNaWdyYXRpb25TUUwsIC8vL1xuICAgICAgICBsb2cgPSBjb25uZWN0aW9uLmdldExvZygpO1xuXG4gIGxvZy5kZWJ1ZyhcIkNyZWF0ZSBtaXNzaW5nIHRhYmxlLi4uXCIpO1xuXG4gIGNyZWF0ZVRhYmxlKGNvbm5lY3Rpb24sIHNxbCwgKGVycm9yKSA9PiB7XG4gICAgZXJyb3IgP1xuICAgICAgYWJvcnQoKSA6XG4gICAgICAgIHByb2NlZWQoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGluc2VydFplcm9WZXJzaW9uT3BlcmF0aW9uKGNvbm5lY3Rpb24sIGFib3J0LCBwcm9jZWVkLCBjb21wbGV0ZSwgY29udGV4dCkge1xuICBjb25zdCB7IGNvbmZpZ3VyYXRpb24gfSA9IGNvbnRleHQsXG4gICAgICAgIHsgbWlncmF0aW9uU1FMTWFwIH0gPSBjb25maWd1cmF0aW9uLFxuICAgICAgICB7IGluc2VydFZlcnNpb25NaWdyYXRpb25TUUwgfSA9IG1pZ3JhdGlvblNRTE1hcCxcbiAgICAgICAgc3FsID0gaW5zZXJ0VmVyc2lvbk1pZ3JhdGlvblNRTCwgIC8vL1xuICAgICAgICBsb2cgPSBjb25uZWN0aW9uLmdldExvZygpO1xuXG4gIGxvZy5kZWJ1ZyhcIkluc2VydGluZyB6ZXJvIHZlcnNpb24uLi5cIik7XG5cbiAgY29uc3QgdmVyc2lvbiA9IDA7XG5cbiAgaW5zZXJ0VmVyc2lvbihjb25uZWN0aW9uLCB2ZXJzaW9uLCBzcWwsIChlcnJvcikgPT4ge1xuICAgIGVycm9yID9cbiAgICAgIGFib3J0KCkgOlxuICAgICAgICBwcm9jZWVkKCk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImluaXRpYWxpc2VPcGVyYXRpb24iLCJuZXh0IiwiZG9uZSIsImNvbnRleHQiLCJjb25maWd1cmF0aW9uIiwibG9nIiwiZGVidWciLCJvcGVyYXRpb25zIiwiY2hlY2tUYWJsZVByZXNlbnRPcGVyYXRpbm8iLCJjcmVhdGVNaXNzaW5nVGFibGVPcGVyYXRpb24iLCJpbnNlcnRaZXJvVmVyc2lvbk9wZXJhdGlvbiIsInRyYW5zYWN0aW9uIiwiY29tcGxldGVkIiwiZXJyb3IiLCJPYmplY3QiLCJhc3NpZ24iLCJjb25uZWN0aW9uIiwiYWJvcnQiLCJwcm9jZWVkIiwiY29tcGxldGUiLCJtaWdyYXRpb25TUUxNYXAiLCJzaG93TGlrZVRhYmxlc01pZ3JhdGlvblNRTCIsInNxbCIsImdldExvZyIsInNob3dMaWtlVGFibGVzIiwicm93cyIsInJvd3NMZW5ndGgiLCJsZW5ndGgiLCJjcmVhdGVUYWJsZU1pZ3JhdGlvblNRTCIsImNyZWF0ZVRhYmxlIiwiaW5zZXJ0VmVyc2lvbk1pZ3JhdGlvblNRTCIsInZlcnNpb24iLCJpbnNlcnRWZXJzaW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXdCQTs7O2tFQUpBO3lCQUVtQzs7Ozs7O0FBRTVDLFNBQVNBLG9CQUFvQkMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLE9BQU87SUFDN0QsSUFBTSxBQUFFQyxnQkFBa0JELFFBQWxCQyxlQUNGLEFBQUVDLE1BQVFELGNBQVJDO0lBRVIsSUFBSUEsS0FBSztRQUNQQSxJQUFJQyxLQUFLLENBQUM7SUFDWjtJQUVBLElBQU1DLGFBQWE7UUFDakJDO1FBQ0FDO1FBQ0FDO0tBQ0Q7SUFFREMsSUFBQUEsb0JBQVcsRUFBQ1AsZUFBZUcsWUFBWSxTQUFDSztRQUN0QyxJQUFNQyxRQUFRLENBQUNEO1FBRWYsSUFBSUMsT0FBTztZQUNULElBQUlSLEtBQUs7Z0JBQ1BBLElBQUlRLEtBQUssQ0FBQztZQUNaO1lBRUFDLE9BQU9DLE1BQU0sQ0FBQ1osU0FBUztnQkFDckJVLE9BQUFBO1lBQ0Y7WUFFQVg7WUFFQTtRQUNGO1FBRUFEO0lBQ0YsR0FBR0U7QUFDTDtBQUVBLFNBQVNLLDJCQUEyQlEsVUFBVSxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFaEIsT0FBTztJQUMvRSxJQUFNLEFBQUVDLGdCQUFrQkQsUUFBbEJDLGVBQ0YsQUFBRWdCLGtCQUFvQmhCLGNBQXBCZ0IsaUJBQ0YsQUFBRUMsNkJBQStCRCxnQkFBL0JDLDRCQUNGQyxNQUFNRCw0QkFDTmhCLE1BQU1XLFdBQVdPLE1BQU07SUFFN0JsQixJQUFJQyxLQUFLLENBQUM7SUFFVmtCLElBQUFBLHlCQUFjLEVBQUNSLFlBQVlNLEtBQUssU0FBQ1QsT0FBT1k7UUFDdEMsSUFBSVosT0FBTztZQUNUSTtZQUVBO1FBQ0Y7UUFFQSxJQUFNUyxhQUFhRCxLQUFLRSxNQUFNO1FBRTdCRCxlQUFlLElBQ2RQLGFBQ0VEO0lBQ047QUFDRjtBQUVBLFNBQVNULDRCQUE0Qk8sVUFBVSxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFaEIsT0FBTztJQUNoRixJQUFNLEFBQUVDLGdCQUFrQkQsUUFBbEJDLGVBQ0YsQUFBRWdCLGtCQUFvQmhCLGNBQXBCZ0IsaUJBQ0YsQUFBRVEsMEJBQTRCUixnQkFBNUJRLHlCQUNGTixNQUFNTSx5QkFDTnZCLE1BQU1XLFdBQVdPLE1BQU07SUFFN0JsQixJQUFJQyxLQUFLLENBQUM7SUFFVnVCLElBQUFBLHNCQUFXLEVBQUNiLFlBQVlNLEtBQUssU0FBQ1Q7UUFDNUJBLFFBQ0VJLFVBQ0VDO0lBQ047QUFDRjtBQUVBLFNBQVNSLDJCQUEyQk0sVUFBVSxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFaEIsT0FBTztJQUMvRSxJQUFNLEFBQUVDLGdCQUFrQkQsUUFBbEJDLGVBQ0YsQUFBRWdCLGtCQUFvQmhCLGNBQXBCZ0IsaUJBQ0YsQUFBRVUsNEJBQThCVixnQkFBOUJVLDJCQUNGUixNQUFNUSwyQkFDTnpCLE1BQU1XLFdBQVdPLE1BQU07SUFFN0JsQixJQUFJQyxLQUFLLENBQUM7SUFFVixJQUFNeUIsVUFBVTtJQUVoQkMsSUFBQUEsd0JBQWEsRUFBQ2hCLFlBQVllLFNBQVNULEtBQUssU0FBQ1Q7UUFDdkNBLFFBQ0VJLFVBQ0VDO0lBQ047QUFDRiJ9
|