mysqlsyncr 1.0.56 → 1.0.58

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/dist/compare.js DELETED
@@ -1,251 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.compareAllDatabases = void 0;
8
- var _promises = _interopRequireDefault(require("fs/promises"));
9
- var _path = _interopRequireDefault(require("path"));
10
- var _getters = require("./getters.js");
11
- var _differences = require("./differences.js");
12
- var _loggers = require("./loggers.js");
13
- var _apply = require("./apply.js");
14
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
15
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
16
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
17
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
18
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
19
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
20
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
21
- var compareAllDatabases = exports.compareAllDatabases = /*#__PURE__*/function () {
22
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(connection, inputDir) {
23
- var update,
24
- command,
25
- options,
26
- expectedDatabases,
27
- existingDatabases,
28
- allDifferences,
29
- missingDatabases,
30
- _iterator,
31
- _step,
32
- _database,
33
- _iterator2,
34
- _step2,
35
- database,
36
- _iterator3,
37
- _step3,
38
- _database2,
39
- filePath,
40
- fileContent,
41
- expectedStructure,
42
- currentStructure,
43
- differences,
44
- _args = arguments;
45
- return _regeneratorRuntime().wrap(function _callee$(_context) {
46
- while (1) switch (_context.prev = _context.next) {
47
- case 0:
48
- update = _args.length > 2 && _args[2] !== undefined ? _args[2] : false;
49
- command = _args.length > 3 ? _args[3] : undefined;
50
- options = _args.length > 4 ? _args[4] : undefined;
51
- if (!(connection.state === 'disconnected')) {
52
- _context.next = 6;
53
- break;
54
- }
55
- _context.next = 6;
56
- return connection.reconnect();
57
- case 6:
58
- _context.next = 8;
59
- return _promises["default"].readdir(inputDir);
60
- case 8:
61
- expectedDatabases = _context.sent;
62
- //filter out diffs.json
63
- expectedDatabases = expectedDatabases.filter(function (file) {
64
- return file !== 'diffs.json';
65
- });
66
- //filter out dumpInfo.json
67
- expectedDatabases = expectedDatabases.filter(function (file) {
68
- return file !== 'dumpInfo.json';
69
- });
70
- // console.log('Expected databases from input directory:', expectedDatabases);
71
-
72
- // Check existing databases
73
- _context.next = 13;
74
- return (0, _getters.getDatabases)(connection);
75
- case 13:
76
- existingDatabases = _context.sent;
77
- // console.log('Existing databases:', existingDatabases);
78
- allDifferences = {};
79
- missingDatabases = [];
80
- console.log('All differences:', allDifferences);
81
-
82
- // Note missing databases and prepare to create them
83
- _iterator = _createForOfIteratorHelper(expectedDatabases);
84
- _context.prev = 18;
85
- _iterator.s();
86
- case 20:
87
- if ((_step = _iterator.n()).done) {
88
- _context.next = 27;
89
- break;
90
- }
91
- _database = _step.value;
92
- if (!(options && options.database && options.database !== _database)) {
93
- _context.next = 24;
94
- break;
95
- }
96
- return _context.abrupt("continue", 25);
97
- case 24:
98
- if (!existingDatabases.includes(_database)) {
99
- allDifferences[_database] = [{
100
- database: _database,
101
- type: 'missing_database',
102
- message: 'Database not found'
103
- }];
104
- missingDatabases.push(_database);
105
- }
106
- case 25:
107
- _context.next = 20;
108
- break;
109
- case 27:
110
- _context.next = 32;
111
- break;
112
- case 29:
113
- _context.prev = 29;
114
- _context.t0 = _context["catch"](18);
115
- _iterator.e(_context.t0);
116
- case 32:
117
- _context.prev = 32;
118
- _iterator.f();
119
- return _context.finish(32);
120
- case 35:
121
- if (!(missingDatabases.length > 0 && update)) {
122
- _context.next = 58;
123
- break;
124
- }
125
- console.log('Creating missing databases:');
126
- _iterator2 = _createForOfIteratorHelper(missingDatabases);
127
- _context.prev = 38;
128
- _iterator2.s();
129
- case 40:
130
- if ((_step2 = _iterator2.n()).done) {
131
- _context.next = 48;
132
- break;
133
- }
134
- database = _step2.value;
135
- console.log("Creating database ".concat(database, "..."));
136
- _context.next = 45;
137
- return connection.query("CREATE DATABASE `".concat(database, "`;"));
138
- case 45:
139
- console.log("Database ".concat(database, " created."));
140
- case 46:
141
- _context.next = 40;
142
- break;
143
- case 48:
144
- _context.next = 53;
145
- break;
146
- case 50:
147
- _context.prev = 50;
148
- _context.t1 = _context["catch"](38);
149
- _iterator2.e(_context.t1);
150
- case 53:
151
- _context.prev = 53;
152
- _iterator2.f();
153
- return _context.finish(53);
154
- case 56:
155
- _context.next = 59;
156
- break;
157
- case 58:
158
- if (missingDatabases.length > 0 && !update) {
159
- console.error('Missing databases found but update is not enabled. Please enable update to create missing databases.');
160
- console.error('Please run the command again with the --update flag to create missing databases.');
161
- console.error('Missing databases:');
162
- console.error(missingDatabases);
163
- } else {
164
- console.log('All expected databases exist.');
165
- }
166
- case 59:
167
- _iterator3 = _createForOfIteratorHelper(expectedDatabases);
168
- _context.prev = 60;
169
- _iterator3.s();
170
- case 62:
171
- if ((_step3 = _iterator3.n()).done) {
172
- _context.next = 100;
173
- break;
174
- }
175
- _database2 = _step3.value;
176
- if (!(options && options.database && options.database !== _database2)) {
177
- _context.next = 66;
178
- break;
179
- }
180
- return _context.abrupt("continue", 98);
181
- case 66:
182
- if (!missingDatabases.includes(_database2)) {
183
- _context.next = 69;
184
- break;
185
- }
186
- console.log('Skipping database', _database2, 'because it is missing');
187
- return _context.abrupt("continue", 98);
188
- case 69:
189
- filePath = _path["default"].join(inputDir, _database2, "".concat(_database2, ".json"));
190
- _context.prev = 70;
191
- _context.next = 73;
192
- return _promises["default"].readFile(filePath, 'utf-8');
193
- case 73:
194
- fileContent = _context.sent;
195
- expectedStructure = JSON.parse(fileContent);
196
- console.log('Getting database structure for', _database2);
197
- _context.next = 78;
198
- return (0, _getters.getDatabaseStructure)(connection, _database2, command, options);
199
- case 78:
200
- currentStructure = _context.sent;
201
- console.log('Database structure for', _database2, 'obtained');
202
- differences = (0, _differences.findDifferences)(expectedStructure, currentStructure);
203
- console.log('Differences for', _database2, 'obtained');
204
- if (update) {
205
- _context.next = 87;
206
- break;
207
- }
208
- console.log('Logging differences for', _database2);
209
- (0, _loggers.logDifferences)(differences, _database2, true);
210
- _context.next = 92;
211
- break;
212
- case 87:
213
- console.log('Logging differences for', _database2);
214
- (0, _loggers.logDifferences)(differences, _database2, false);
215
- console.log('Applying differences for', _database2);
216
- _context.next = 92;
217
- return (0, _apply.applyDifferences)(connection, _database2, differences);
218
- case 92:
219
- allDifferences[_database2] = differences;
220
- _context.next = 98;
221
- break;
222
- case 95:
223
- _context.prev = 95;
224
- _context.t2 = _context["catch"](70);
225
- console.error("Error processing database ".concat(_database2, ":"), _context.t2.message);
226
- case 98:
227
- _context.next = 62;
228
- break;
229
- case 100:
230
- _context.next = 105;
231
- break;
232
- case 102:
233
- _context.prev = 102;
234
- _context.t3 = _context["catch"](60);
235
- _iterator3.e(_context.t3);
236
- case 105:
237
- _context.prev = 105;
238
- _iterator3.f();
239
- return _context.finish(105);
240
- case 108:
241
- return _context.abrupt("return", allDifferences);
242
- case 109:
243
- case "end":
244
- return _context.stop();
245
- }
246
- }, _callee, null, [[18, 29, 32, 35], [38, 50, 53, 56], [60, 102, 105, 108], [70, 95]]);
247
- }));
248
- return function compareAllDatabases(_x, _x2) {
249
- return _ref.apply(this, arguments);
250
- };
251
- }();
package/dist/create.js DELETED
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.generateCreateTableSQL = void 0;
7
- var generateCreateTableSQL = exports.generateCreateTableSQL = function generateCreateTableSQL(tableName, fields) {
8
- var columns = fields.map(function (col) {
9
- var nullClause = col.Null === 'NO' ? 'NOT NULL' : 'NULL';
10
- var defaultClause = col.Default === 'CURRENT_TIMESTAMP' ? 'DEFAULT CURRENT_TIMESTAMP' : col.Default !== null ? "DEFAULT '".concat(col.Default, "'") : '';
11
- var extraClause = col.Extra || '';
12
- return "`".concat(col.Field, "` ").concat(col.Type, " ").concat(nullClause, " ").concat(defaultClause, " ").concat(extraClause).trim();
13
- }).join(', ');
14
- var primaryKey = fields.find(function (field) {
15
- return field.Key === 'PRI';
16
- });
17
- var primaryKeyClause = primaryKey ? ", PRIMARY KEY (`".concat(primaryKey.Field, "`)") : '';
18
- return "CREATE TABLE `".concat(tableName, "` (").concat(columns).concat(primaryKeyClause, ");");
19
- };