@proteinjs/db-driver-spanner 1.4.7 → 1.4.8
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 +11 -0
- package/dist/generated/index.d.ts +1 -0
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/generated/index.js +1 -0
- package/dist/generated/index.js.map +1 -1
- package/dist/src/SpannerDriver.d.ts.map +1 -1
- package/dist/src/SpannerDriver.js +14 -8
- package/dist/src/SpannerDriver.js.map +1 -1
- package/dist/src/SpannerSchemaOperations.d.ts.map +1 -1
- package/dist/src/SpannerSchemaOperations.js +37 -19
- package/dist/src/SpannerSchemaOperations.js.map +1 -1
- package/generated/index.ts +1 -0
- package/package.json +5 -4
- package/src/SpannerDriver.ts +14 -13
- package/src/SpannerSchemaOperations.ts +37 -33
package/CHANGELOG.md
CHANGED
@@ -3,6 +3,17 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
+
## [1.4.8](https://github.com/brentbahry/db/compare/@proteinjs/db-driver-spanner@1.4.7...@proteinjs/db-driver-spanner@1.4.8) (2024-08-16)
|
7
|
+
|
8
|
+
|
9
|
+
### Bug Fixes
|
10
|
+
|
11
|
+
* refactored to implement new @proteinjs/logger/Logger api ([66578f2](https://github.com/brentbahry/db/commit/66578f267d9293c0d5703c63e53d8edf68325f52))
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
6
17
|
## [1.4.7](https://github.com/brentbahry/db/compare/@proteinjs/db-driver-spanner@1.4.6...@proteinjs/db-driver-spanner@1.4.7) (2024-08-11)
|
7
18
|
|
8
19
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,eAAe,CAAC;AACvB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,iBAAiB,CAAC;AA2BzB,cAAc,UAAU,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,eAAe,CAAC;AACvB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,iBAAiB,CAAC;AA2BzB,cAAc,UAAU,CAAC"}
|
package/dist/generated/index.js
CHANGED
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
require("@google-cloud/spanner");
|
19
19
|
require("@proteinjs/db");
|
20
20
|
require("@proteinjs/db-query");
|
21
|
+
require("@proteinjs/logger");
|
21
22
|
require("@proteinjs/reflection");
|
22
23
|
require("@proteinjs/util");
|
23
24
|
/** Generate Source Graph */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,iCAA+B;AAC/B,yBAAuB;AACvB,+BAA6B;AAC7B,iCAA+B;AAC/B,2BAAyB;AAGzB,4BAA4B;AAE5B,IAAM,WAAW,GAAG,66cAA66c,CAAC;AAGl8c,4BAA4B;AAE5B,sDAAqD;AACrD,sEAAqE;AACrE,0EAAyE;AAEzE,IAAM,WAAW,GAAG;IACnB,4CAA4C,EAAE,6BAAa;IAC3D,oDAAoD,EAAE,6CAAqB;IAC3E,sDAAsD,EAAE,iDAAuB;CAC/E,CAAC;AAGF,kCAAkC;AAElC,oDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,2CAAyB"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,iCAA+B;AAC/B,yBAAuB;AACvB,+BAA6B;AAC7B,6BAA2B;AAC3B,iCAA+B;AAC/B,2BAAyB;AAGzB,4BAA4B;AAE5B,IAAM,WAAW,GAAG,66cAA66c,CAAC;AAGl8c,4BAA4B;AAE5B,sDAAqD;AACrD,sEAAqE;AACrE,0EAAyE;AAEzE,IAAM,WAAW,GAAG;IACnB,4CAA4C,EAAE,6BAAa;IAC3D,oDAAoD,EAAE,6CAAqB;IAC3E,sDAAsD,EAAE,iDAAuB;CAC/E,CAAC;AAGF,kCAAkC;AAElC,oDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,2CAAyB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SpannerDriver.d.ts","sourceRoot":"","sources":["../../src/SpannerDriver.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,EACL,YAAY,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKhD,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAU;IAChC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAW;IAC1C,OAAO,CAAC,MAAM,CAAC,UAAU,CAAW;IACpC,OAAO,CAAC,MAAM,
|
1
|
+
{"version":3,"file":"SpannerDriver.d.ts","sourceRoot":"","sources":["../../src/SpannerDriver.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,EACL,YAAY,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKhD,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAU;IAChC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAW;IAC1C,OAAO,CAAC,MAAM,CAAC,UAAU,CAAW;IACpC,OAAO,CAAC,MAAM,CAA+C;IAC7D,OAAO,CAAC,MAAM,CAAgB;IACvB,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;gBAEhD,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC;IAK1E,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,YAAY;IAQpB,SAAS;IAIT,eAAe,IAAI,YAAY;IAO/B;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAiB5D;;;;OAIG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM;IActF,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;YAQ5B,QAAQ;IAKhB,QAAQ,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAqBtG;;;;OAIG;IACG,MAAM,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BnG;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUlD"}
|
@@ -39,13 +39,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.SpannerDriver = void 0;
|
40
40
|
var spanner_1 = require("@google-cloud/spanner");
|
41
41
|
var db_1 = require("@proteinjs/db");
|
42
|
-
var
|
42
|
+
var logger_1 = require("@proteinjs/logger");
|
43
43
|
var SpannerSchemaOperations_1 = require("./SpannerSchemaOperations");
|
44
44
|
var SpannerColumnTypeFactory_1 = require("./SpannerColumnTypeFactory");
|
45
45
|
var SpannerSchemaMetadata_1 = require("./SpannerSchemaMetadata");
|
46
46
|
var SpannerDriver = /** @class */ (function () {
|
47
47
|
function SpannerDriver(config, getTable) {
|
48
|
-
this.logger = new
|
48
|
+
this.logger = new logger_1.Logger({ name: this.constructor.name });
|
49
49
|
this.config = config;
|
50
50
|
this.getTable = getTable;
|
51
51
|
}
|
@@ -160,14 +160,17 @@ var SpannerDriver = /** @class */ (function () {
|
|
160
160
|
_b.label = 1;
|
161
161
|
case 1:
|
162
162
|
_b.trys.push([1, 3, , 4]);
|
163
|
-
this.logger.debug("Executing query:
|
163
|
+
this.logger.debug({ message: "Executing query", obj: { sql: sql, params: namedParams } });
|
164
164
|
return [4 /*yield*/, this.getSpannerDb().run({ sql: sql, params: namedParams === null || namedParams === void 0 ? void 0 : namedParams.params, types: namedParams === null || namedParams === void 0 ? void 0 : namedParams.types })];
|
165
165
|
case 2:
|
166
166
|
rows = (_b.sent())[0];
|
167
167
|
return [2 /*return*/, rows.map(function (row) { return row.toJSON(); })];
|
168
168
|
case 3:
|
169
169
|
error_1 = _b.sent();
|
170
|
-
this.logger.error(
|
170
|
+
this.logger.error({
|
171
|
+
message: "Failed when executing query",
|
172
|
+
obj: { sql: sql, params: namedParams, errorDetails: error_1.details },
|
173
|
+
});
|
171
174
|
throw error_1;
|
172
175
|
case 4: return [2 /*return*/];
|
173
176
|
}
|
@@ -200,7 +203,7 @@ var SpannerDriver = /** @class */ (function () {
|
|
200
203
|
return __generator(this, function (_a) {
|
201
204
|
switch (_a.label) {
|
202
205
|
case 0:
|
203
|
-
this.logger.debug("Executing dml:
|
206
|
+
this.logger.debug({ message: "Executing dml", obj: { sql: sql, params: namedParams } });
|
204
207
|
return [4 /*yield*/, transaction.runUpdate({
|
205
208
|
sql: sql,
|
206
209
|
params: namedParams === null || namedParams === void 0 ? void 0 : namedParams.params,
|
@@ -218,7 +221,10 @@ var SpannerDriver = /** @class */ (function () {
|
|
218
221
|
case 2: return [2 /*return*/, _b.sent()];
|
219
222
|
case 3:
|
220
223
|
error_2 = _b.sent();
|
221
|
-
this.logger.error(
|
224
|
+
this.logger.error({
|
225
|
+
message: "Failed when executing dml",
|
226
|
+
obj: { sql: sql, params: namedParams, errorDetails: error_2.details },
|
227
|
+
});
|
222
228
|
throw error_2;
|
223
229
|
case 4: return [2 /*return*/];
|
224
230
|
}
|
@@ -235,7 +241,7 @@ var SpannerDriver = /** @class */ (function () {
|
|
235
241
|
switch (_a.label) {
|
236
242
|
case 0:
|
237
243
|
_a.trys.push([0, 3, , 4]);
|
238
|
-
this.logger.debug("Executing schema update:
|
244
|
+
this.logger.debug({ message: "Executing schema update", obj: { sql: sql } });
|
239
245
|
return [4 /*yield*/, this.getSpannerDb().updateSchema(sql)];
|
240
246
|
case 1:
|
241
247
|
operation = (_a.sent())[0];
|
@@ -245,7 +251,7 @@ var SpannerDriver = /** @class */ (function () {
|
|
245
251
|
return [3 /*break*/, 4];
|
246
252
|
case 3:
|
247
253
|
error_3 = _a.sent();
|
248
|
-
this.logger.error("Failed when executing schema update:
|
254
|
+
this.logger.error({ message: "Failed when executing schema update", obj: { sql: sql, errorDetails: error_3.details } });
|
249
255
|
throw error_3;
|
250
256
|
case 4: return [2 /*return*/];
|
251
257
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SpannerDriver.js","sourceRoot":"","sources":["../../src/SpannerDriver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAoE;AACpE,oCAOuB;AAEvB,
|
1
|
+
{"version":3,"file":"SpannerDriver.js","sourceRoot":"","sources":["../../src/SpannerDriver.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SpannerSchemaOperations.d.ts","sourceRoot":"","sources":["../../src/SpannerSchemaOperations.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,YAAY,EAIb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,qBAAa,uBAAwB,YAAW,gBAAgB;IAGlD,OAAO,CAAC,aAAa;IAFjC,OAAO,CAAC,MAAM,
|
1
|
+
{"version":3,"file":"SpannerSchemaOperations.d.ts","sourceRoot":"","sources":["../../src/SpannerSchemaOperations.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,YAAY,EAIb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,qBAAa,uBAAwB,YAAW,gBAAgB;IAGlD,OAAO,CAAC,aAAa;IAFjC,OAAO,CAAC,MAAM,CAA+C;gBAEzC,aAAa,EAAE,aAAa;IAE1C,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;IAyC7B,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,YAAY;CA2F/D"}
|
@@ -37,13 +37,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
37
37
|
};
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
39
39
|
exports.SpannerSchemaOperations = void 0;
|
40
|
-
var
|
40
|
+
var logger_1 = require("@proteinjs/logger");
|
41
41
|
var db_1 = require("@proteinjs/db");
|
42
42
|
var SpannerColumnTypeFactory_1 = require("./SpannerColumnTypeFactory");
|
43
43
|
var SpannerSchemaOperations = /** @class */ (function () {
|
44
44
|
function SpannerSchemaOperations(spannerDriver) {
|
45
45
|
this.spannerDriver = spannerDriver;
|
46
|
-
this.logger = new
|
46
|
+
this.logger = new logger_1.Logger({ name: this.constructor.name });
|
47
47
|
}
|
48
48
|
SpannerSchemaOperations.prototype.createTable = function (table) {
|
49
49
|
var _a, _b, _c, _d;
|
@@ -63,14 +63,16 @@ var SpannerSchemaOperations = /** @class */ (function () {
|
|
63
63
|
column = table.columns[columnPropertyName];
|
64
64
|
columnType = new SpannerColumnTypeFactory_1.SpannerColumnTypeFactory().getType(column);
|
65
65
|
serializedColumns.push({ name: column.name, type: columnType, nullable: (_a = column.options) === null || _a === void 0 ? void 0 : _a.nullable });
|
66
|
-
this.logger.info("[".concat(table.name, "] Creating column: ").concat(column.name, " (").concat(column.constructor.name, ")"));
|
66
|
+
this.logger.info({ message: "[".concat(table.name, "] Creating column: ").concat(column.name, " (").concat(column.constructor.name, ")") });
|
67
67
|
if ((_c = (_b = column.options) === null || _b === void 0 ? void 0 : _b.unique) === null || _c === void 0 ? void 0 : _c.unique) {
|
68
68
|
indexes.push({ name: column.options.unique.indexName, columns: column.name, unique: true });
|
69
|
-
this.logger.info("[".concat(table.name, ".").concat(column.name, "] Adding unique constraint"));
|
69
|
+
this.logger.info({ message: "[".concat(table.name, ".").concat(column.name, "] Adding unique constraint") });
|
70
70
|
}
|
71
71
|
if ((_d = column.options) === null || _d === void 0 ? void 0 : _d.references) {
|
72
72
|
foreignKeys.push({ table: column.options.references.table, column: 'id', referencedByColumn: column.name });
|
73
|
-
this.logger.info(
|
73
|
+
this.logger.info({
|
74
|
+
message: "[".concat(table.name, ".").concat(column.name, "] Adding foreign key -> ").concat(column.options.references.table, ".id"),
|
75
|
+
});
|
74
76
|
}
|
75
77
|
}
|
76
78
|
createTableSql = new db_1.StatementFactory().createTable(table.name, serializedColumns, 'id', foreignKeys).sql;
|
@@ -84,11 +86,15 @@ var SpannerSchemaOperations = /** @class */ (function () {
|
|
84
86
|
index = indexes_1[_f];
|
85
87
|
createIndexSql = new db_1.StatementFactory().createIndex(index, table.name).sql;
|
86
88
|
indexName = db_1.StatementUtil.getIndexName(table.name, index);
|
87
|
-
this.logger.info(
|
89
|
+
this.logger.info({
|
90
|
+
message: "[".concat(table.name, "] Creating index: ").concat(indexName, " (").concat(typeof index.columns === 'string' ? index.columns : index.columns.join(', '), ")"),
|
91
|
+
});
|
88
92
|
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(createIndexSql)];
|
89
93
|
case 3:
|
90
94
|
_g.sent();
|
91
|
-
this.logger.info(
|
95
|
+
this.logger.info({
|
96
|
+
message: "[".concat(table.name, "] Created index: ").concat(indexName, " (").concat(typeof index.columns === 'string' ? index.columns : index.columns.join(', '), ")"),
|
97
|
+
});
|
92
98
|
_g.label = 4;
|
93
99
|
case 4:
|
94
100
|
_f++;
|
@@ -119,10 +125,10 @@ var SpannerSchemaOperations = /** @class */ (function () {
|
|
119
125
|
column = table.columns[columnPropertyName];
|
120
126
|
columnType = new SpannerColumnTypeFactory_1.SpannerColumnTypeFactory().getType(column);
|
121
127
|
(_a = alterParams.columnsToAdd) === null || _a === void 0 ? void 0 : _a.push({ name: column.name, type: columnType, nullable: (_b = column.options) === null || _b === void 0 ? void 0 : _b.nullable });
|
122
|
-
this.logger.info("[".concat(table.name, "] Creating column: ").concat(column.name, " (").concat(column.constructor.name, ")"));
|
128
|
+
this.logger.info({ message: "[".concat(table.name, "] Creating column: ").concat(column.name, " (").concat(column.constructor.name, ")") });
|
123
129
|
if (((_d = (_c = column.options) === null || _c === void 0 ? void 0 : _c.unique) === null || _d === void 0 ? void 0 : _d.unique) && tableChanges.columnsWithUniqueConstraintsToCreate.includes(column.name)) {
|
124
130
|
indexesToAdd.push({ name: column.options.unique.indexName, columns: column.name, unique: true });
|
125
|
-
this.logger.info("[".concat(table.name, ".").concat(column.name, "] Adding unique constraint"));
|
131
|
+
this.logger.info({ message: "[".concat(table.name, ".").concat(column.name, "] Adding unique constraint") });
|
126
132
|
}
|
127
133
|
if (((_e = column.options) === null || _e === void 0 ? void 0 : _e.references) && tableChanges.columnsWithForeignKeysToCreate.includes(column.name)) {
|
128
134
|
(_f = alterParams.foreignKeysToAdd) === null || _f === void 0 ? void 0 : _f.push({
|
@@ -130,36 +136,40 @@ var SpannerSchemaOperations = /** @class */ (function () {
|
|
130
136
|
column: 'id',
|
131
137
|
referencedByColumn: column.name,
|
132
138
|
});
|
133
|
-
this.logger.info(
|
139
|
+
this.logger.info({
|
140
|
+
message: "[".concat(table.name, ".").concat(column.name, "] Adding foreign key -> ").concat(column.options.references.table, ".id"),
|
141
|
+
});
|
134
142
|
}
|
135
143
|
}
|
136
144
|
for (_j = 0, _k = tableChanges.columnsWithUniqueConstraintsToDrop; _j < _k.length; _j++) {
|
137
145
|
columnName = _k[_j];
|
138
146
|
indexesToDrop.push({ columns: columnName, unique: true });
|
139
|
-
this.logger.info("[".concat(table.name, ".").concat(columnName, "] Dropping unique constraint"));
|
147
|
+
this.logger.info({ message: "[".concat(table.name, ".").concat(columnName, "] Dropping unique constraint") });
|
140
148
|
}
|
141
149
|
for (_l = 0, _m = tableChanges.foreignKeysToDrop; _l < _m.length; _l++) {
|
142
150
|
foreignKey = _m[_l];
|
143
151
|
(_g = alterParams.foreignKeysToDrop) === null || _g === void 0 ? void 0 : _g.push(foreignKey);
|
144
|
-
this.logger.info(
|
152
|
+
this.logger.info({
|
153
|
+
message: "[".concat(table.name, ".").concat(foreignKey.referencedByColumn, "] Dropping foreign key -> ").concat(foreignKey.table, ".").concat(foreignKey.column),
|
154
|
+
});
|
145
155
|
}
|
146
156
|
for (_o = 0, _p = tableChanges.columnTypeChanges; _o < _p.length; _o++) {
|
147
157
|
columnTypeChange = _p[_o];
|
148
158
|
errorMessage = "[".concat(table.name, ".").concat(columnTypeChange.name, "] Unable to change column types in Spanner. Attempted to change type to: ").concat(columnTypeChange.newType);
|
149
|
-
this.logger.error(errorMessage);
|
159
|
+
this.logger.error({ message: errorMessage });
|
150
160
|
throw new Error(errorMessage);
|
151
161
|
}
|
152
162
|
for (_q = 0, _r = tableChanges.columnNullableChanges; _q < _r.length; _q++) {
|
153
163
|
columnNullableChange = _r[_q];
|
154
164
|
errorMessage = "[".concat(table.name, ".").concat(columnNullableChange.name, "] Unable to update nullable constraint on existing column in Spanner. Attempted to update nullable constraint to: ").concat(columnNullableChange.nullable === true);
|
155
|
-
this.logger.error(errorMessage);
|
165
|
+
this.logger.error({ message: errorMessage });
|
156
166
|
throw new Error(errorMessage);
|
157
167
|
}
|
158
168
|
for (_s = 0, _t = tableChanges.columnsToRename; _s < _t.length; _s++) {
|
159
169
|
columnPropertyName = _t[_s];
|
160
170
|
column = table.columns[columnPropertyName];
|
161
171
|
errorMessage = "[".concat(table.name, ".").concat(column.oldName, "] Unable to rename columns in Spanner. Attempted to perform rename: ").concat(column.oldName, " -> ").concat(column.name);
|
162
|
-
this.logger.error(errorMessage);
|
172
|
+
this.logger.error({ message: errorMessage });
|
163
173
|
throw new Error(errorMessage);
|
164
174
|
}
|
165
175
|
alterStatements = new db_1.StatementFactory().alterTable(alterParams);
|
@@ -182,11 +192,15 @@ var SpannerSchemaOperations = /** @class */ (function () {
|
|
182
192
|
if (!(_v < _w.length)) return [3 /*break*/, 8];
|
183
193
|
index = _w[_v];
|
184
194
|
dropIndexSql = new db_1.StatementFactory().dropIndex(index, table.name).sql;
|
185
|
-
this.logger.info(
|
195
|
+
this.logger.info({
|
196
|
+
message: "[".concat(table.name, "] Dropping index: ").concat(index.name, " (").concat(typeof index.columns === 'string' ? index.columns : index.columns.join(', '), ")"),
|
197
|
+
});
|
186
198
|
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(dropIndexSql)];
|
187
199
|
case 6:
|
188
200
|
_z.sent();
|
189
|
-
this.logger.info(
|
201
|
+
this.logger.info({
|
202
|
+
message: "[".concat(table.name, "] Dropped index: ").concat(index.name, " (").concat(typeof index.columns === 'string' ? index.columns : index.columns.join(', '), ")"),
|
203
|
+
});
|
190
204
|
_z.label = 7;
|
191
205
|
case 7:
|
192
206
|
_v++;
|
@@ -199,11 +213,15 @@ var SpannerSchemaOperations = /** @class */ (function () {
|
|
199
213
|
index = _y[_x];
|
200
214
|
createIndexSql = new db_1.StatementFactory().createIndex(index, table.name).sql;
|
201
215
|
indexName = db_1.StatementUtil.getIndexName(table.name, index);
|
202
|
-
this.logger.info(
|
216
|
+
this.logger.info({
|
217
|
+
message: "[".concat(table.name, "] Creating index: ").concat(indexName, " (").concat(typeof index.columns === 'string' ? index.columns : index.columns.join(', '), ")"),
|
218
|
+
});
|
203
219
|
return [4 /*yield*/, this.spannerDriver.runUpdateSchema(createIndexSql)];
|
204
220
|
case 10:
|
205
221
|
_z.sent();
|
206
|
-
this.logger.info(
|
222
|
+
this.logger.info({
|
223
|
+
message: "[".concat(table.name, "] Created index: ").concat(indexName, " (").concat(typeof index.columns === 'string' ? index.columns : index.columns.join(', '), ")"),
|
224
|
+
});
|
207
225
|
_z.label = 11;
|
208
226
|
case 11:
|
209
227
|
_x++;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SpannerSchemaOperations.js","sourceRoot":"","sources":["../../src/SpannerSchemaOperations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
1
|
+
{"version":3,"file":"SpannerSchemaOperations.js","sourceRoot":"","sources":["../../src/SpannerSchemaOperations.ts"],"names":[],"mappings":"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"}
|
package/generated/index.ts
CHANGED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@proteinjs/db-driver-spanner",
|
3
|
-
"version": "1.4.
|
3
|
+
"version": "1.4.8",
|
4
4
|
"description": "Db driver for Google Spanner",
|
5
5
|
"publishConfig": {
|
6
6
|
"access": "public"
|
@@ -23,8 +23,9 @@
|
|
23
23
|
},
|
24
24
|
"dependencies": {
|
25
25
|
"@google-cloud/spanner": "7.5.0",
|
26
|
-
"@proteinjs/db": "^1.5.
|
27
|
-
"@proteinjs/db-query": "^1.2.
|
26
|
+
"@proteinjs/db": "^1.5.7",
|
27
|
+
"@proteinjs/db-query": "^1.2.7",
|
28
|
+
"@proteinjs/logger": "1.0.4",
|
28
29
|
"@proteinjs/reflection": "1.1.8",
|
29
30
|
"@proteinjs/util": "1.4.0"
|
30
31
|
},
|
@@ -43,5 +44,5 @@
|
|
43
44
|
},
|
44
45
|
"main": "./dist/generated/index.js",
|
45
46
|
"types": "./dist/generated/index.d.ts",
|
46
|
-
"gitHead": "
|
47
|
+
"gitHead": "16c2c7eac3d6c1f01a5bca9b24c1e949e295757e"
|
47
48
|
}
|
package/src/SpannerDriver.ts
CHANGED
@@ -8,7 +8,7 @@ import {
|
|
8
8
|
tableByName,
|
9
9
|
} from '@proteinjs/db';
|
10
10
|
import { SpannerConfig } from './SpannerConfig';
|
11
|
-
import { Logger } from '@proteinjs/
|
11
|
+
import { Logger } from '@proteinjs/logger';
|
12
12
|
import { Statement } from '@proteinjs/db-query';
|
13
13
|
import { SpannerSchemaOperations } from './SpannerSchemaOperations';
|
14
14
|
import { SpannerColumnTypeFactory } from './SpannerColumnTypeFactory';
|
@@ -18,7 +18,7 @@ export class SpannerDriver implements DbDriver {
|
|
18
18
|
private static SPANNER: Spanner;
|
19
19
|
private static SPANNER_INSTANCE: Instance;
|
20
20
|
private static SPANNER_DB: Database;
|
21
|
-
private logger = new Logger(this.constructor.name);
|
21
|
+
private logger = new Logger({ name: this.constructor.name });
|
22
22
|
private config: SpannerConfig;
|
23
23
|
public getTable: ((name: string) => Table<any>) | undefined;
|
24
24
|
|
@@ -132,14 +132,14 @@ export class SpannerDriver implements DbDriver {
|
|
132
132
|
handleCaseSensitivity: this.handleCaseSensitivity.bind(this),
|
133
133
|
});
|
134
134
|
try {
|
135
|
-
this.logger.debug(`Executing query:
|
135
|
+
this.logger.debug({ message: `Executing query`, obj: { sql, params: namedParams } });
|
136
136
|
const [rows] = await this.getSpannerDb().run({ sql, params: namedParams?.params, types: namedParams?.types });
|
137
137
|
return rows.map((row) => row.toJSON());
|
138
|
-
// return JSON.parse(JSON.stringify((await this.getSpannerDb().run({ sql, params: namedParams?.params }))[0]));
|
139
138
|
} catch (error: any) {
|
140
|
-
this.logger.error(
|
141
|
-
`Failed when executing query
|
142
|
-
|
139
|
+
this.logger.error({
|
140
|
+
message: `Failed when executing query`,
|
141
|
+
obj: { sql, params: namedParams, errorDetails: error.details },
|
142
|
+
});
|
143
143
|
throw error;
|
144
144
|
}
|
145
145
|
}
|
@@ -158,7 +158,7 @@ export class SpannerDriver implements DbDriver {
|
|
158
158
|
});
|
159
159
|
try {
|
160
160
|
return await this.getSpannerDb().runTransactionAsync(async (transaction) => {
|
161
|
-
this.logger.debug(`Executing dml:
|
161
|
+
this.logger.debug({ message: `Executing dml`, obj: { sql, params: namedParams } });
|
162
162
|
const [rowCount] = await transaction.runUpdate({
|
163
163
|
sql,
|
164
164
|
params: namedParams?.params,
|
@@ -168,9 +168,10 @@ export class SpannerDriver implements DbDriver {
|
|
168
168
|
return rowCount;
|
169
169
|
});
|
170
170
|
} catch (error: any) {
|
171
|
-
this.logger.error(
|
172
|
-
`Failed when executing dml
|
173
|
-
|
171
|
+
this.logger.error({
|
172
|
+
message: `Failed when executing dml`,
|
173
|
+
obj: { sql, params: namedParams, errorDetails: error.details },
|
174
|
+
});
|
174
175
|
throw error;
|
175
176
|
}
|
176
177
|
}
|
@@ -180,11 +181,11 @@ export class SpannerDriver implements DbDriver {
|
|
180
181
|
*/
|
181
182
|
async runUpdateSchema(sql: string): Promise<void> {
|
182
183
|
try {
|
183
|
-
this.logger.debug(`Executing schema update:
|
184
|
+
this.logger.debug({ message: `Executing schema update`, obj: { sql } });
|
184
185
|
const [operation] = await this.getSpannerDb().updateSchema(sql);
|
185
186
|
await operation.promise();
|
186
187
|
} catch (error: any) {
|
187
|
-
this.logger.error(`Failed when executing schema update:
|
188
|
+
this.logger.error({ message: `Failed when executing schema update`, obj: { sql, errorDetails: error.details } });
|
188
189
|
throw error;
|
189
190
|
}
|
190
191
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Logger } from '@proteinjs/
|
1
|
+
import { Logger } from '@proteinjs/logger';
|
2
2
|
import {
|
3
3
|
Table,
|
4
4
|
SchemaOperations,
|
@@ -11,7 +11,7 @@ import { SpannerDriver } from './SpannerDriver';
|
|
11
11
|
import { SpannerColumnTypeFactory } from './SpannerColumnTypeFactory';
|
12
12
|
|
13
13
|
export class SpannerSchemaOperations implements SchemaOperations {
|
14
|
-
private logger = new Logger(this.constructor.name);
|
14
|
+
private logger = new Logger({ name: this.constructor.name });
|
15
15
|
|
16
16
|
constructor(private spannerDriver: SpannerDriver) {}
|
17
17
|
|
@@ -27,15 +27,17 @@ export class SpannerSchemaOperations implements SchemaOperations {
|
|
27
27
|
const column = table.columns[columnPropertyName];
|
28
28
|
const columnType = new SpannerColumnTypeFactory().getType(column);
|
29
29
|
serializedColumns.push({ name: column.name, type: columnType, nullable: column.options?.nullable });
|
30
|
-
this.logger.info(`[${table.name}] Creating column: ${column.name} (${column.constructor.name})`);
|
30
|
+
this.logger.info({ message: `[${table.name}] Creating column: ${column.name} (${column.constructor.name})` });
|
31
31
|
if (column.options?.unique?.unique) {
|
32
32
|
indexes.push({ name: column.options.unique.indexName, columns: column.name, unique: true });
|
33
|
-
this.logger.info(`[${table.name}.${column.name}] Adding unique constraint`);
|
33
|
+
this.logger.info({ message: `[${table.name}.${column.name}] Adding unique constraint` });
|
34
34
|
}
|
35
35
|
|
36
36
|
if (column.options?.references) {
|
37
37
|
foreignKeys.push({ table: column.options.references.table, column: 'id', referencedByColumn: column.name });
|
38
|
-
this.logger.info(
|
38
|
+
this.logger.info({
|
39
|
+
message: `[${table.name}.${column.name}] Adding foreign key -> ${column.options.references.table}.id`,
|
40
|
+
});
|
39
41
|
}
|
40
42
|
}
|
41
43
|
const createTableSql = new StatementFactory().createTable(table.name, serializedColumns, 'id', foreignKeys).sql;
|
@@ -44,13 +46,13 @@ export class SpannerSchemaOperations implements SchemaOperations {
|
|
44
46
|
for (const index of indexes) {
|
45
47
|
const createIndexSql = new StatementFactory().createIndex(index, table.name).sql;
|
46
48
|
const indexName = StatementUtil.getIndexName(table.name, index);
|
47
|
-
this.logger.info(
|
48
|
-
`[${table.name}] Creating index: ${indexName} (${typeof index.columns === 'string' ? index.columns : index.columns.join(', ')})
|
49
|
-
);
|
49
|
+
this.logger.info({
|
50
|
+
message: `[${table.name}] Creating index: ${indexName} (${typeof index.columns === 'string' ? index.columns : index.columns.join(', ')})`,
|
51
|
+
});
|
50
52
|
await this.spannerDriver.runUpdateSchema(createIndexSql);
|
51
|
-
this.logger.info(
|
52
|
-
`[${table.name}] Created index: ${indexName} (${typeof index.columns === 'string' ? index.columns : index.columns.join(', ')})
|
53
|
-
);
|
53
|
+
this.logger.info({
|
54
|
+
message: `[${table.name}] Created index: ${indexName} (${typeof index.columns === 'string' ? index.columns : index.columns.join(', ')})`,
|
55
|
+
});
|
54
56
|
}
|
55
57
|
}
|
56
58
|
|
@@ -68,10 +70,10 @@ export class SpannerSchemaOperations implements SchemaOperations {
|
|
68
70
|
const column = table.columns[columnPropertyName];
|
69
71
|
const columnType = new SpannerColumnTypeFactory().getType(column);
|
70
72
|
alterParams.columnsToAdd?.push({ name: column.name, type: columnType, nullable: column.options?.nullable });
|
71
|
-
this.logger.info(`[${table.name}] Creating column: ${column.name} (${column.constructor.name})`);
|
73
|
+
this.logger.info({ message: `[${table.name}] Creating column: ${column.name} (${column.constructor.name})` });
|
72
74
|
if (column.options?.unique?.unique && tableChanges.columnsWithUniqueConstraintsToCreate.includes(column.name)) {
|
73
75
|
indexesToAdd.push({ name: column.options.unique.indexName, columns: column.name, unique: true });
|
74
|
-
this.logger.info(`[${table.name}.${column.name}] Adding unique constraint`);
|
76
|
+
this.logger.info({ message: `[${table.name}.${column.name}] Adding unique constraint` });
|
75
77
|
}
|
76
78
|
|
77
79
|
if (column.options?.references && tableChanges.columnsWithForeignKeysToCreate.includes(column.name)) {
|
@@ -80,38 +82,40 @@ export class SpannerSchemaOperations implements SchemaOperations {
|
|
80
82
|
column: 'id',
|
81
83
|
referencedByColumn: column.name,
|
82
84
|
});
|
83
|
-
this.logger.info(
|
85
|
+
this.logger.info({
|
86
|
+
message: `[${table.name}.${column.name}] Adding foreign key -> ${column.options.references.table}.id`,
|
87
|
+
});
|
84
88
|
}
|
85
89
|
}
|
86
90
|
|
87
91
|
for (const columnName of tableChanges.columnsWithUniqueConstraintsToDrop) {
|
88
92
|
indexesToDrop.push({ columns: columnName, unique: true });
|
89
|
-
this.logger.info(`[${table.name}.${columnName}] Dropping unique constraint`);
|
93
|
+
this.logger.info({ message: `[${table.name}.${columnName}] Dropping unique constraint` });
|
90
94
|
}
|
91
95
|
|
92
96
|
for (const foreignKey of tableChanges.foreignKeysToDrop) {
|
93
97
|
alterParams.foreignKeysToDrop?.push(foreignKey);
|
94
|
-
this.logger.info(
|
95
|
-
`[${table.name}.${foreignKey.referencedByColumn}] Dropping foreign key -> ${foreignKey.table}.${foreignKey.column}
|
96
|
-
);
|
98
|
+
this.logger.info({
|
99
|
+
message: `[${table.name}.${foreignKey.referencedByColumn}] Dropping foreign key -> ${foreignKey.table}.${foreignKey.column}`,
|
100
|
+
});
|
97
101
|
}
|
98
102
|
|
99
103
|
for (const columnTypeChange of tableChanges.columnTypeChanges) {
|
100
104
|
const errorMessage = `[${table.name}.${columnTypeChange.name}] Unable to change column types in Spanner. Attempted to change type to: ${columnTypeChange.newType}`;
|
101
|
-
this.logger.error(errorMessage);
|
105
|
+
this.logger.error({ message: errorMessage });
|
102
106
|
throw new Error(errorMessage);
|
103
107
|
}
|
104
108
|
|
105
109
|
for (const columnNullableChange of tableChanges.columnNullableChanges) {
|
106
110
|
const errorMessage = `[${table.name}.${columnNullableChange.name}] Unable to update nullable constraint on existing column in Spanner. Attempted to update nullable constraint to: ${columnNullableChange.nullable === true}`;
|
107
|
-
this.logger.error(errorMessage);
|
111
|
+
this.logger.error({ message: errorMessage });
|
108
112
|
throw new Error(errorMessage);
|
109
113
|
}
|
110
114
|
|
111
115
|
for (const columnPropertyName of tableChanges.columnsToRename) {
|
112
116
|
const column = table.columns[columnPropertyName];
|
113
117
|
const errorMessage = `[${table.name}.${column.oldName}] Unable to rename columns in Spanner. Attempted to perform rename: ${column.oldName} -> ${column.name}`;
|
114
|
-
this.logger.error(errorMessage);
|
118
|
+
this.logger.error({ message: errorMessage });
|
115
119
|
throw new Error(errorMessage);
|
116
120
|
}
|
117
121
|
|
@@ -122,25 +126,25 @@ export class SpannerSchemaOperations implements SchemaOperations {
|
|
122
126
|
|
123
127
|
for (const index of tableChanges.indexesToDrop) {
|
124
128
|
const dropIndexSql = new StatementFactory().dropIndex(index, table.name).sql;
|
125
|
-
this.logger.info(
|
126
|
-
`[${table.name}] Dropping index: ${index.name} (${typeof index.columns === 'string' ? index.columns : index.columns.join(', ')})
|
127
|
-
);
|
129
|
+
this.logger.info({
|
130
|
+
message: `[${table.name}] Dropping index: ${index.name} (${typeof index.columns === 'string' ? index.columns : index.columns.join(', ')})`,
|
131
|
+
});
|
128
132
|
await this.spannerDriver.runUpdateSchema(dropIndexSql);
|
129
|
-
this.logger.info(
|
130
|
-
`[${table.name}] Dropped index: ${index.name} (${typeof index.columns === 'string' ? index.columns : index.columns.join(', ')})
|
131
|
-
);
|
133
|
+
this.logger.info({
|
134
|
+
message: `[${table.name}] Dropped index: ${index.name} (${typeof index.columns === 'string' ? index.columns : index.columns.join(', ')})`,
|
135
|
+
});
|
132
136
|
}
|
133
137
|
|
134
138
|
for (const index of tableChanges.indexesToCreate) {
|
135
139
|
const createIndexSql = new StatementFactory().createIndex(index, table.name).sql;
|
136
140
|
const indexName = StatementUtil.getIndexName(table.name, index);
|
137
|
-
this.logger.info(
|
138
|
-
`[${table.name}] Creating index: ${indexName} (${typeof index.columns === 'string' ? index.columns : index.columns.join(', ')})
|
139
|
-
);
|
141
|
+
this.logger.info({
|
142
|
+
message: `[${table.name}] Creating index: ${indexName} (${typeof index.columns === 'string' ? index.columns : index.columns.join(', ')})`,
|
143
|
+
});
|
140
144
|
await this.spannerDriver.runUpdateSchema(createIndexSql);
|
141
|
-
this.logger.info(
|
142
|
-
`[${table.name}] Created index: ${indexName} (${typeof index.columns === 'string' ? index.columns : index.columns.join(', ')})
|
143
|
-
);
|
145
|
+
this.logger.info({
|
146
|
+
message: `[${table.name}] Created index: ${indexName} (${typeof index.columns === 'string' ? index.columns : index.columns.join(', ')})`,
|
147
|
+
});
|
144
148
|
}
|
145
149
|
}
|
146
150
|
}
|