prostgles-server 4.0.11 → 4.0.12
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/TableConfig/getFutureTableSchema.d.ts.map +1 -1
- package/dist/TableConfig/getFutureTableSchema.js +6 -15
- package/dist/TableConfig/getFutureTableSchema.js.map +1 -1
- package/dist/TableConfig/getTableColumnQueries.d.ts.map +1 -1
- package/dist/TableConfig/getTableColumnQueries.js +1 -1
- package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
- package/lib/TableConfig/getFutureTableSchema.d.ts.map +1 -1
- package/lib/TableConfig/getFutureTableSchema.js +7 -15
- package/lib/TableConfig/getFutureTableSchema.ts +6 -22
- package/lib/TableConfig/getTableColumnQueries.d.ts.map +1 -1
- package/lib/TableConfig/getTableColumnQueries.js +1 -1
- package/lib/TableConfig/getTableColumnQueries.ts +2 -3
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/server/package-lock.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAqB,MAAM,kCAAkC,CAAC;AAEnG,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB,kDAA8D,IAAI;iBACpF,aAAa,EAAE;UACtB,iBAAiB,EAAE;EAwC1B,CAAA"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getFutureTableSchema = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const DboBuilder_1 = require("../DboBuilder");
|
|
6
|
+
const { TransactionMode, isolationLevel } = DboBuilder_1.pgp.txMode;
|
|
5
7
|
const getColumnDefinitionQuery_1 = require("./getColumnDefinitionQuery");
|
|
6
8
|
const getConstraintDefinitionQueries_1 = require("./getConstraintDefinitionQueries");
|
|
7
9
|
const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = [], db }) => {
|
|
@@ -9,21 +11,10 @@ const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = []
|
|
|
9
11
|
let cols = [];
|
|
10
12
|
const ROLLBACK = "Rollback";
|
|
11
13
|
try {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
// /* References are removed to avoid potential issues with ftables missing */
|
|
17
|
-
// const columnDefsWithoutReferences = columnDefs.map(cdef => {
|
|
18
|
-
// const refIdx = cdef.toLowerCase().indexOf(" references ");
|
|
19
|
-
// if(refIdx < 0) return cdef;
|
|
20
|
-
// return cdef.slice(0, refIdx);
|
|
21
|
-
// });
|
|
22
|
-
// const query = `CREATE TABLE ${randomTableName} (
|
|
23
|
-
// ${columnDefsWithoutReferences.join(",\n")}
|
|
24
|
-
// );
|
|
25
|
-
// ${alterQueries}
|
|
26
|
-
// `;
|
|
14
|
+
const txMode = new TransactionMode({
|
|
15
|
+
tiLevel: isolationLevel.serializable
|
|
16
|
+
});
|
|
17
|
+
await db.tx({ mode: txMode }, async (t) => {
|
|
27
18
|
const tableEsc = (0, prostgles_types_1.asName)(tableName);
|
|
28
19
|
const consQueries = constraintDefs.map(c => `ALTER TABLE ${tableEsc} ADD ${c.name ? ` CONSTRAINT ${(0, prostgles_types_1.asName)(c.name)}` : ""} ${c.content};`).join("\n");
|
|
29
20
|
const query = `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFutureTableSchema.js","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":";;;AAAA,qDAAyC;
|
|
1
|
+
{"version":3,"file":"getFutureTableSchema.js","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":";;;AAAA,qDAAyC;AACzC,8CAAoC;AAEpC,MAAM,EAAC,eAAe,EAAE,cAAc,EAAC,GAAG,gBAAG,CAAC,MAAM,CAAC;AACrD,yEAAgF;AAChF,qFAAmG;AAS5F,MAAM,oBAAoB,GAAG,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,GAAG,EAAE,EAAE,EAAE,EAAQ,EAGhG,EAAE;IAEH,IAAI,WAAW,GAAoB,EAAE,CAAC;IACtC,IAAI,IAAI,GAAwB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,UAAU,CAAC;IAC5B,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,OAAO,EAAE,cAAc,CAAC,YAAY;SACrC,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAA,wBAAM,EAAC,SAAS,CAAC,CAAC;YAEnC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACzC,eAAe,QAAQ,QAAQ,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,eAAe,IAAA,wBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,CAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,MAAM,KAAK,GAAG;+BACW,QAAQ;uBAChB,QAAQ;YACnB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;UAExB,WAAW;OACd,CAAA;YAED,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,WAAW,GAAG,MAAM,IAAA,kDAAiB,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,IAAI,GAAG,MAAM,IAAA,0CAAe,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAE1D,eAAe;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;KAEJ;IAAC,OAAM,CAAC,EAAC;QACR,IAAG,CAAC,KAAK,QAAQ,EAAE;YACjB,MAAM,CAAC,CAAC;SACT;KACF;IAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC,CAAA;AA1CY,QAAA,oBAAoB,wBA0ChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableColumnQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"getTableColumnQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACvC,CAAA;AAED,eAAO,MAAM,qBAAqB,+CAAsD,IAAI;gBAC9E,MAAM,EAAE;mBACL,MAAM,EAAE;eACZ,MAAM;cACP,OAAO;cA8GlB,CAAA"}
|
|
@@ -63,7 +63,7 @@ const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler })
|
|
|
63
63
|
alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} ${newCol.nullable ? "SET" : "DROP"} NOT NULL;`);
|
|
64
64
|
}
|
|
65
65
|
else if (newCol.udt_name !== c.udt_name) {
|
|
66
|
-
alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} TYPE ${newCol.udt_name};`);
|
|
66
|
+
alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} TYPE ${newCol.udt_name} USING ${(0, prostgles_types_1.asName)(c.column_name)}::${newCol.udt_name};`);
|
|
67
67
|
}
|
|
68
68
|
else if (newCol.column_default !== c.column_default) {
|
|
69
69
|
const colConfig = colDefs.find(cd => cd.name === c.column_name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableColumnQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":";;;AAAA,qDAA+E;AAE/E,4FAAyF;AACzF,yEAAuF;
|
|
1
|
+
{"version":3,"file":"getTableColumnQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":";;;AAAA,qDAA+E;AAE/E,4FAAyF;AACzF,yEAAuF;AAEvF,iEAA8D;AASvD,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAQ,EAKzF,EAAE;IAEH,IAAI,aAAa,GAAa,EAAE,CAAC;IACjC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE;QAE/C,MAAM,kBAAkB,GAAG,IAAA,yBAAO,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,KAAK,IAAI,IAAA,0BAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;QACjF,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,IAAG,kBAAkB,EAAC;YACpB,IAAI;gBACF,MAAM,EAAE,CAAC,GAAG,CAAC,qDAAyB,CAAC,CAAC;aACzC;YAAC,OAAM,GAAQ,EAAC;gBACf,OAAO,CAAC,KAAK,CAAC,gEAAgE,EAAE,GAAG,CAAC,CAAC;gBACrF,MAAM,GAAG,CAAC;aACX;SACF;QAED,MAAM,OAAO,GAAG,IAAA,yBAAO,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACpD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAQ,CAAC,CAAC,CAAE,CAAC;YACtC,+BAA+B;YAC/B,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,CAAA;QAC7D,CAAC,CAAa,CAAC;QAEf,MAAM,OAAO,GAAoC,EAAE,CAAC;QAEpD,IAAI,KAAK,EAAC,MAAM,OAAO,IAAI,OAAO,EAAE;YAClC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAQ,CAAC,OAAO,CAAE,CAAC;YAE7C,2BAA2B;YAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,mDAAwB,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAClG,IAAG,MAAM,EAAC;gBACR,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAC,CAAC,CAAC;aAC7C;SACF;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAG,CAAC,OAAO,CAAC,MAAM,EAAC;YACjB,OAAO,SAAS,CAAC;SAClB;QAGD,MAAM,MAAM,GAAG,eAAe,IAAA,wBAAM,EAAC,SAAS,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,YAAY,EAAE;YACjB,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAEhD;aAAM,IAAI,YAAY,EAAE;YACvB,MAAM,QAAQ,GAAG,MAAM,IAAA,0CAAe,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAEjE,sBAAsB;YACtB,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAE3G,8BAA8B;YAC9B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,2CAAoB,EAAC,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3G,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACnB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;gBACvE,IAAG,CAAC,MAAM,EAAC;oBACT,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;iBACrC;qBAAM,IAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAC;oBACvC,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,iBAAiB,IAAA,wBAAM,EAAC,CAAC,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAA,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,CAAA;iBACvH;qBAAM,IAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAC;oBACvC,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,iBAAiB,IAAA,wBAAM,EAAC,CAAC,CAAC,WAAW,CAAC,SAAS,MAAM,CAAC,QAAQ,UAAU,IAAA,wBAAM,EAAC,CAAC,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAA;iBACtJ;qBAAM,IAAG,MAAM,CAAC,cAAc,KAAK,CAAC,CAAC,cAAc,EAAC;oBACnD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;oBAChE,IAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAC;wBAC1I,kDAAkD;qBACnD;yBAAM;wBACL,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,iBAAiB,IAAA,wBAAM,EAAC,CAAC,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,CAAA,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;qBACtK;iBACF;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,mBAAmB,EAAE;YAC5E,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,KAAK,GAAG,wBAAwB,IAAA,wBAAM,EAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,SAAS,GAAG,CAAC;gBACX,GAAG,CAAC,SAAS,CAAC,YAAY,CAAA,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAA,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtG,gBAAgB,IAAA,wBAAM,EAAC,SAAS,CAAC,IAAI;gBACnC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;gBACzB,IAAI;aACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAEf;aAAM;YACL,SAAS,GAAG;gBACV,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,gBAAgB,IAAA,wBAAM,EAAC,CAAC,CAAC,GAAG,CAAC;gBAClE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC;gBACvD,GAAG,iBAAiB;aACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACd;QAED,OAAO;YACL,SAAS;YACT,UAAU;YACV,QAAQ;YACR,aAAa;SACd,CAAA;KACF;SAAM;QACL,OAAO,SAAS,CAAC;KAClB;AAGH,CAAC,CAAA;AAlHY,QAAA,qBAAqB,yBAkHjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["getFutureTableSchema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["getFutureTableSchema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAqB,MAAM,kCAAkC,CAAC;AAEnG,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB,kDAA8D,IAAI;iBACpF,aAAa,EAAE;UACtB,iBAAiB,EAAE;EAyC1B,CAAA"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getFutureTableSchema = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const DboBuilder_1 = require("../DboBuilder");
|
|
6
|
+
const { TransactionMode, isolationLevel } = DboBuilder_1.pgp.txMode;
|
|
5
7
|
const getColumnDefinitionQuery_1 = require("./getColumnDefinitionQuery");
|
|
6
8
|
const getConstraintDefinitionQueries_1 = require("./getConstraintDefinitionQueries");
|
|
7
9
|
const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = [], db }) => {
|
|
@@ -9,21 +11,11 @@ const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = []
|
|
|
9
11
|
let cols = [];
|
|
10
12
|
const ROLLBACK = "Rollback";
|
|
11
13
|
try {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
//
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
// const columnDefsWithoutReferences = columnDefs.map(cdef => {
|
|
18
|
-
// const refIdx = cdef.toLowerCase().indexOf(" references ");
|
|
19
|
-
// if(refIdx < 0) return cdef;
|
|
20
|
-
// return cdef.slice(0, refIdx);
|
|
21
|
-
// });
|
|
22
|
-
// const query = `CREATE TABLE ${randomTableName} (
|
|
23
|
-
// ${columnDefsWithoutReferences.join(",\n")}
|
|
24
|
-
// );
|
|
25
|
-
// ${alterQueries}
|
|
26
|
-
// `;
|
|
14
|
+
const txMode = new TransactionMode({
|
|
15
|
+
tiLevel: isolationLevel.serializable,
|
|
16
|
+
// deferrable: true
|
|
17
|
+
});
|
|
18
|
+
await db.tx({ mode: txMode }, async (t) => {
|
|
27
19
|
const tableEsc = (0, prostgles_types_1.asName)(tableName);
|
|
28
20
|
const consQueries = constraintDefs.map(c => `ALTER TABLE ${tableEsc} ADD ${c.name ? ` CONSTRAINT ${(0, prostgles_types_1.asName)(c.name)}` : ""} ${c.content};`).join("\n");
|
|
29
21
|
const query = `
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { asName } from "prostgles-types";
|
|
2
|
+
import { pgp } from "../DboBuilder";
|
|
2
3
|
import { DB } from "../Prostgles";
|
|
3
|
-
|
|
4
|
+
const {TransactionMode, isolationLevel} = pgp.txMode;
|
|
4
5
|
import { ColumnMinimalInfo, getTableColumns } from "./getColumnDefinitionQuery";
|
|
5
6
|
import { ColConstraint, ConstraintDef, getColConstraints } from "./getConstraintDefinitionQueries";
|
|
6
7
|
|
|
@@ -20,27 +21,10 @@ export const getFutureTableSchema = async ({ columnDefs, tableName, constraintDe
|
|
|
20
21
|
let cols: ColumnMinimalInfo[] = [];
|
|
21
22
|
const ROLLBACK = "Rollback";
|
|
22
23
|
try {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
// const randomTableName = `prostgles_constr_${v}`;
|
|
28
|
-
|
|
29
|
-
// /* References are removed to avoid potential issues with ftables missing */
|
|
30
|
-
// const columnDefsWithoutReferences = columnDefs.map(cdef => {
|
|
31
|
-
// const refIdx = cdef.toLowerCase().indexOf(" references ");
|
|
32
|
-
// if(refIdx < 0) return cdef;
|
|
33
|
-
// return cdef.slice(0, refIdx);
|
|
34
|
-
// });
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
// const query = `CREATE TABLE ${randomTableName} (
|
|
39
|
-
// ${columnDefsWithoutReferences.join(",\n")}
|
|
40
|
-
// );
|
|
41
|
-
// ${alterQueries}
|
|
42
|
-
// `;
|
|
43
|
-
|
|
24
|
+
const txMode = new TransactionMode({
|
|
25
|
+
tiLevel: isolationLevel.serializable
|
|
26
|
+
});
|
|
27
|
+
await db.tx({ mode: txMode }, async t => {
|
|
44
28
|
const tableEsc = asName(tableName);
|
|
45
29
|
|
|
46
30
|
const consQueries = constraintDefs.map(c =>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableColumnQueries.d.ts","sourceRoot":"","sources":["getTableColumnQueries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"getTableColumnQueries.d.ts","sourceRoot":"","sources":["getTableColumnQueries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACvC,CAAA;AAED,eAAO,MAAM,qBAAqB,+CAAsD,IAAI;gBAC9E,MAAM,EAAE;mBACL,MAAM,EAAE;eACZ,MAAM;cACP,OAAO;EA8GlB,CAAA"}
|
|
@@ -63,7 +63,7 @@ const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler })
|
|
|
63
63
|
alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} ${newCol.nullable ? "SET" : "DROP"} NOT NULL;`);
|
|
64
64
|
}
|
|
65
65
|
else if (newCol.udt_name !== c.udt_name) {
|
|
66
|
-
alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} TYPE ${newCol.udt_name};`);
|
|
66
|
+
alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} TYPE ${newCol.udt_name} USING ${(0, prostgles_types_1.asName)(c.column_name)}::${newCol.udt_name};`);
|
|
67
67
|
}
|
|
68
68
|
else if (newCol.column_default !== c.column_default) {
|
|
69
69
|
const colConfig = colDefs.find(cd => cd.name === c.column_name);
|
|
@@ -2,8 +2,7 @@ import { getKeys, asName as _asName, isObject, asName } from "prostgles-types";
|
|
|
2
2
|
import { DB, DBHandlerServer } from "../Prostgles";
|
|
3
3
|
import { validate_jsonb_schema_sql } from "../JSONBValidation/validate_jsonb_schema_sql";
|
|
4
4
|
import { getColumnDefinitionQuery, getTableColumns } from "./getColumnDefinitionQuery";
|
|
5
|
-
import { TableConfig } from "./TableConfig";
|
|
6
|
-
import { log } from "../PubSubManager/PubSubManager";
|
|
5
|
+
import { TableConfig } from "./TableConfig";
|
|
7
6
|
import { getFutureTableSchema } from "./getFutureTableSchema";
|
|
8
7
|
|
|
9
8
|
type Args = {
|
|
@@ -86,7 +85,7 @@ export const getTableColumnQueries = async ({ db, tableConf, tableName, tableHan
|
|
|
86
85
|
} else if(newCol.nullable !== c.nullable){
|
|
87
86
|
alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${asName(c.column_name)} ${newCol.nullable? "SET" : "DROP"} NOT NULL;`)
|
|
88
87
|
} else if(newCol.udt_name !== c.udt_name){
|
|
89
|
-
alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${asName(c.column_name)} TYPE ${newCol.udt_name};`)
|
|
88
|
+
alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${asName(c.column_name)} TYPE ${newCol.udt_name} USING ${asName(c.column_name)}::${newCol.udt_name};`)
|
|
90
89
|
} else if(newCol.column_default !== c.column_default){
|
|
91
90
|
const colConfig = colDefs.find(cd => cd.name === c.column_name);
|
|
92
91
|
if(["serial", "bigserial"].some(t => colConfig?.def.toLowerCase().includes(` ${t}`)) && c.column_default?.toLowerCase().includes("nextval")){
|
package/package.json
CHANGED
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
202015
|