@rdyl/node-mysql 0.1.8 → 0.2.0
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/CHANGELOG.md +1 -1
- package/dist/index.js +11 -4
- package/dist/meta.js +5 -1
- package/dist/utils.js +16 -22
- package/package.json +1 -1
- package/types/index.d.ts +1 -1
package/CHANGELOG.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -19,11 +19,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
20
|
exports.setup = setup;
|
|
21
21
|
var promise_1 = __importDefault(require("mysql2/promise")); // 使用 Promise 接口
|
|
22
|
-
|
|
23
|
-
__exportStar(require("./meta"), exports);
|
|
24
|
-
__exportStar(require("./interface"), exports);
|
|
25
|
-
__exportStar(require("./utils"), exports);
|
|
22
|
+
var utils_1 = require("./utils");
|
|
26
23
|
function setup(props) {
|
|
27
24
|
// @ts-ignore
|
|
28
25
|
global.$MysqlPool = promise_1.default.createPool(props);
|
|
26
|
+
// @ts-ignore
|
|
27
|
+
var tables = global.$MysqlTable || {};
|
|
28
|
+
for (var table in tables) {
|
|
29
|
+
var json = tables[table].json;
|
|
30
|
+
utils_1.Parser.createTableBy(table, json);
|
|
31
|
+
}
|
|
29
32
|
}
|
|
33
|
+
__exportStar(require("./helper"), exports);
|
|
34
|
+
__exportStar(require("./meta"), exports);
|
|
35
|
+
__exportStar(require("./interface"), exports);
|
|
36
|
+
__exportStar(require("./utils"), exports);
|
package/dist/meta.js
CHANGED
package/dist/utils.js
CHANGED
|
@@ -83,35 +83,34 @@ exports.Parser = {
|
|
|
83
83
|
},
|
|
84
84
|
createTableBy: function (table, json) {
|
|
85
85
|
return __awaiter(this, void 0, void 0, function () {
|
|
86
|
-
var pool, rows,
|
|
86
|
+
var pool, rows, columns, dbKeys, add, drop, _i, add_1, col, type, _a, drop_1, col;
|
|
87
87
|
return __generator(this, function (_b) {
|
|
88
88
|
switch (_b.label) {
|
|
89
89
|
case 0:
|
|
90
90
|
pool = global.$MysqlPool;
|
|
91
|
-
return [4 /*yield*/, pool.
|
|
91
|
+
return [4 /*yield*/, pool.execute("\n CREATE TABLE IF NOT EXISTS `".concat(table, "` (\n id BIGINT AUTO_INCREMENT PRIMARY KEY,\n create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\n update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\n )\n "))];
|
|
92
92
|
case 1:
|
|
93
93
|
_b.sent();
|
|
94
|
-
return [4 /*yield*/, pool.
|
|
94
|
+
return [4 /*yield*/, pool.execute("\n SELECT COLUMN_NAME \n FROM INFORMATION_SCHEMA.COLUMNS \n WHERE TABLE_SCHEMA = DATABASE() \n AND TABLE_NAME = ?", [table])];
|
|
95
95
|
case 2:
|
|
96
96
|
rows = (_b.sent())[0];
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
dbKeys = mapKeys
|
|
97
|
+
columns = rows.map(function (r) { return r.COLUMN_NAME; });
|
|
98
|
+
dbKeys = Object.keys(json)
|
|
100
99
|
.filter(function (k) { return !["id", "createTime", "updateTime"].includes(k); })
|
|
101
100
|
.map(exports.Parser.toDbName);
|
|
102
|
-
|
|
103
|
-
|
|
101
|
+
add = dbKeys.filter(function (k) { return !columns.includes(k); });
|
|
102
|
+
drop = columns.filter(function (c) {
|
|
104
103
|
return !dbKeys.includes(c) && !["id", "create_time", "update_time"].includes(c);
|
|
105
104
|
});
|
|
106
|
-
_i = 0,
|
|
105
|
+
_i = 0, add_1 = add;
|
|
107
106
|
_b.label = 3;
|
|
108
107
|
case 3:
|
|
109
|
-
if (!(_i <
|
|
110
|
-
col =
|
|
108
|
+
if (!(_i < add_1.length)) return [3 /*break*/, 6];
|
|
109
|
+
col = add_1[_i];
|
|
111
110
|
type = "VARCHAR(255)";
|
|
112
111
|
if (typeof json[col] === "number")
|
|
113
112
|
type = "INT";
|
|
114
|
-
return [4 /*yield*/, pool.
|
|
113
|
+
return [4 /*yield*/, pool.execute("ALTER TABLE `".concat(table, "` ADD COLUMN `").concat(col, "` ").concat(type))];
|
|
115
114
|
case 4:
|
|
116
115
|
_b.sent();
|
|
117
116
|
_b.label = 5;
|
|
@@ -119,24 +118,19 @@ exports.Parser = {
|
|
|
119
118
|
_i++;
|
|
120
119
|
return [3 /*break*/, 3];
|
|
121
120
|
case 6:
|
|
122
|
-
_a = 0,
|
|
121
|
+
_a = 0, drop_1 = drop;
|
|
123
122
|
_b.label = 7;
|
|
124
123
|
case 7:
|
|
125
|
-
if (!(_a <
|
|
126
|
-
col =
|
|
127
|
-
return [4 /*yield*/, pool.
|
|
124
|
+
if (!(_a < drop_1.length)) return [3 /*break*/, 10];
|
|
125
|
+
col = drop_1[_a];
|
|
126
|
+
return [4 /*yield*/, pool.execute("ALTER TABLE `".concat(table, "` DROP COLUMN `").concat(col, "`"))];
|
|
128
127
|
case 8:
|
|
129
128
|
_b.sent();
|
|
130
129
|
_b.label = 9;
|
|
131
130
|
case 9:
|
|
132
131
|
_a++;
|
|
133
132
|
return [3 /*break*/, 7];
|
|
134
|
-
case 10:
|
|
135
|
-
// @ts-ignore
|
|
136
|
-
this.$MysqlTable[table] = {
|
|
137
|
-
fields: mapKeys,
|
|
138
|
-
};
|
|
139
|
-
return [4 /*yield*/, pool.end()];
|
|
133
|
+
case 10: return [4 /*yield*/, pool.end()];
|
|
140
134
|
case 11:
|
|
141
135
|
_b.sent();
|
|
142
136
|
return [2 /*return*/];
|
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import mysql from "mysql2/promise";
|
|
2
|
+
export declare function setup(props: mysql.PoolOptions): void;
|
|
2
3
|
export * from "./helper";
|
|
3
4
|
export * from "./meta";
|
|
4
5
|
export * from "./interface";
|
|
5
6
|
export * from "./utils";
|
|
6
|
-
export declare function setup(props: mysql.PoolOptions): void;
|