prostgles-server 3.0.131 → 3.0.133
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/Prostgles.d.ts +6 -1
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js +6 -2
- package/dist/Prostgles.js.map +1 -1
- package/dist/TableConfig/TableConfig.d.ts.map +1 -1
- package/dist/TableConfig/TableConfig.js +81 -147
- package/dist/TableConfig/TableConfig.js.map +1 -1
- package/dist/TableConfig/getColumnDefinitionQuery.d.ts +3 -19
- package/dist/TableConfig/getColumnDefinitionQuery.d.ts.map +1 -1
- package/dist/TableConfig/getColumnDefinitionQuery.js +5 -38
- package/dist/TableConfig/getColumnDefinitionQuery.js.map +1 -1
- package/dist/TableConfig/getConstraintDefinitionQueries.d.ts +27 -1
- package/dist/TableConfig/getConstraintDefinitionQueries.d.ts.map +1 -1
- package/dist/TableConfig/getConstraintDefinitionQueries.js +40 -6
- package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
- package/dist/TableConfig/getFutureTableSchema.d.ts +15 -0
- package/dist/TableConfig/getFutureTableSchema.d.ts.map +1 -0
- package/dist/TableConfig/getFutureTableSchema.js +51 -0
- package/dist/TableConfig/getFutureTableSchema.js.map +1 -0
- package/dist/TableConfig/getTableColumnQueries.d.ts +16 -0
- package/dist/TableConfig/getTableColumnQueries.d.ts.map +1 -0
- package/dist/TableConfig/getTableColumnQueries.js +108 -0
- package/dist/TableConfig/getTableColumnQueries.js.map +1 -0
- package/lib/Prostgles.d.ts +6 -1
- package/lib/Prostgles.d.ts.map +1 -1
- package/lib/Prostgles.js +6 -2
- package/lib/Prostgles.ts +12 -3
- package/lib/TableConfig/TableConfig.d.ts.map +1 -1
- package/lib/TableConfig/TableConfig.js +81 -147
- package/lib/TableConfig/TableConfig.ts +94 -154
- package/lib/TableConfig/getColumnDefinitionQuery.d.ts +3 -19
- package/lib/TableConfig/getColumnDefinitionQuery.d.ts.map +1 -1
- package/lib/TableConfig/getColumnDefinitionQuery.js +5 -38
- package/lib/TableConfig/getColumnDefinitionQuery.ts +4 -46
- package/lib/TableConfig/getConstraintDefinitionQueries.d.ts +27 -1
- package/lib/TableConfig/getConstraintDefinitionQueries.d.ts.map +1 -1
- package/lib/TableConfig/getConstraintDefinitionQueries.js +40 -6
- package/lib/TableConfig/getConstraintDefinitionQueries.ts +64 -6
- package/lib/TableConfig/getFutureTableSchema.d.ts +15 -0
- package/lib/TableConfig/getFutureTableSchema.d.ts.map +1 -0
- package/lib/TableConfig/getFutureTableSchema.js +50 -0
- package/lib/TableConfig/getFutureTableSchema.ts +73 -0
- package/lib/TableConfig/getTableColumnQueries.d.ts +16 -0
- package/lib/TableConfig/getTableColumnQueries.d.ts.map +1 -0
- package/lib/TableConfig/getTableColumnQueries.js +107 -0
- package/lib/TableConfig/getTableColumnQueries.ts +130 -0
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/config_test/index.ts +1 -2
- package/tests/config_test/init.sql +1 -8
- package/tests/server/DBoGenerated.d.ts +12 -2
- package/tests/server/index.js +5 -1
- package/tests/server/index.ts +5 -1
- package/tests/server/init.sql +1 -7
- package/tests/server/package-lock.json +1 -1
- package/tests/server/package.json +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTableColumns = exports.
|
|
3
|
+
exports.getTableColumns = exports.getColumnDefinitionQuery = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const PubSubManager_1 = require("../PubSubManager/PubSubManager");
|
|
6
6
|
const validate_jsonb_schema_sql_1 = require("../JSONBValidation/validate_jsonb_schema_sql");
|
|
7
|
+
const getConstraintDefinitionQueries_1 = require("./getConstraintDefinitionQueries");
|
|
7
8
|
/**
|
|
8
9
|
* Column create statement for a given config
|
|
9
10
|
*/
|
|
@@ -62,7 +63,7 @@ const getColumnDefinitionQuery = async ({ colConf: colConfRaw, column, db, table
|
|
|
62
63
|
const namePreffix = 'prostgles_jsonb_';
|
|
63
64
|
const { val: nameEnding } = await db.one("SELECT MD5( ${table} || ${column} || ${schema}) as val", { table: table, column, schema: jsonbSchemaStr });
|
|
64
65
|
const constraintName = namePreffix + nameEnding;
|
|
65
|
-
const colConstraints = await (0,
|
|
66
|
+
const colConstraints = await (0, getConstraintDefinitionQueries_1.getColConstraints)({ db, table, column });
|
|
66
67
|
const existingNonMatchingConstraints = colConstraints.filter(c => c.name.startsWith(namePreffix) && c.name !== constraintName);
|
|
67
68
|
for await (const oldCons of existingNonMatchingConstraints) {
|
|
68
69
|
await db.any(`ALTER TABLE ${(0, prostgles_types_1.asName)(table)} DROP CONSTRAINT ${(0, prostgles_types_1.asName)(oldCons.name)};`);
|
|
@@ -82,41 +83,7 @@ const getColumnDefinitionQuery = async ({ colConf: colConfRaw, column, db, table
|
|
|
82
83
|
}
|
|
83
84
|
};
|
|
84
85
|
exports.getColumnDefinitionQuery = getColumnDefinitionQuery;
|
|
85
|
-
const
|
|
86
|
-
let query = `
|
|
87
|
-
SELECT *
|
|
88
|
-
FROM (
|
|
89
|
-
SELECT distinct c.conname as name, c.contype as type,
|
|
90
|
-
pg_get_constraintdef(c.oid) as definition,
|
|
91
|
-
nsp.nspname as schema,
|
|
92
|
-
(SELECT r.relname from pg_class r where r.oid = c.conrelid) as "table",
|
|
93
|
-
(SELECT array_agg(attname::text) from pg_attribute
|
|
94
|
-
where attrelid = c.conrelid and ARRAY[attnum] <@ c.conkey) as cols
|
|
95
|
-
-- (SELECT array_agg(attname::text) from pg_attribute
|
|
96
|
-
-- where attrelid = c.confrelid and ARRAY[attnum] <@ c.confkey) as fcols,
|
|
97
|
-
-- (SELECT r.relname from pg_class r where r.oid = c.confrelid) as ftable
|
|
98
|
-
FROM pg_catalog.pg_constraint c
|
|
99
|
-
INNER JOIN pg_catalog.pg_class rel
|
|
100
|
-
ON rel.oid = c.conrelid
|
|
101
|
-
INNER JOIN pg_catalog.pg_namespace nsp
|
|
102
|
-
ON nsp.oid = connamespace
|
|
103
|
-
) t
|
|
104
|
-
WHERE TRUE
|
|
105
|
-
`;
|
|
106
|
-
if (table)
|
|
107
|
-
query += `\nAND "table" = ${(0, PubSubManager_1.asValue)(table)}`;
|
|
108
|
-
if (column)
|
|
109
|
-
query += `\nAND cols @> ARRAY[${(0, PubSubManager_1.asValue)(column)}]`;
|
|
110
|
-
if (types?.length)
|
|
111
|
-
query += `\nAND type IN (${types.map(v => (0, PubSubManager_1.asValue)(v)).join(", ")})`;
|
|
112
|
-
return query;
|
|
113
|
-
};
|
|
114
|
-
exports.getColConstraintsQuery = getColConstraintsQuery;
|
|
115
|
-
const getColConstraints = ({ db, column, table, types }) => {
|
|
116
|
-
return db.manyOrNone((0, exports.getColConstraintsQuery)({ column, table, types }));
|
|
117
|
-
};
|
|
118
|
-
exports.getColConstraints = getColConstraints;
|
|
119
|
-
const getTableColumns = ({ db, tableName }) => {
|
|
86
|
+
const getTableColumns = ({ db, table }) => {
|
|
120
87
|
return db.manyOrNone(`
|
|
121
88
|
SELECT table_name,
|
|
122
89
|
table_schema, column_name,
|
|
@@ -124,7 +91,7 @@ const getTableColumns = ({ db, tableName }) => {
|
|
|
124
91
|
is_nullable = 'YES' as nullable
|
|
125
92
|
FROM information_schema.columns
|
|
126
93
|
WHERE table_name = $1
|
|
127
|
-
`, [
|
|
94
|
+
`, [table]);
|
|
128
95
|
};
|
|
129
96
|
exports.getTableColumns = getTableColumns;
|
|
130
97
|
//# sourceMappingURL=getColumnDefinitionQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getColumnDefinitionQuery.js","sourceRoot":"","sources":["../../lib/TableConfig/getColumnDefinitionQuery.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAEnD,kEAAyD;AACzD,4FAAwF;
|
|
1
|
+
{"version":3,"file":"getColumnDefinitionQuery.js","sourceRoot":"","sources":["../../lib/TableConfig/getColumnDefinitionQuery.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAEnD,kEAAyD;AACzD,4FAAwF;AAGxF,qFAAqE;AASrE;;GAEG;AACI,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAQ,EAA+B,EAAE;IAC9H,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAA,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IAC3F,MAAM,UAAU,GAAG,IAAA,wBAAM,EAAC,MAAM,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,CAAC,OAAwB,EAAE,MAAwB,EAAE,EAAE;QAC3E,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAC3C,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,IAAA,uBAAO,EAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACjH,CAAC,CAAA;IAED,MAAM,WAAW,GACb,CAAC,aAAa,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;QACpH,CAAC,iBAAiB,IAAI,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;YAChI,SAAS,CAAC;IAGlB,IAAI,YAAY,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE;QAEjD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;QACpF,OAAO,IAAI,UAAU,IAAI,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,WAAW,KAAK,SAAS,IAAI,CAAC;KAEhH;SAAM,IAAI,eAAe,IAAI,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE;QAE9D,OAAO,IAAI,UAAU,IAAI,OAAO,CAAC,aAAa,GAAG,CAAC;KAEnD;SAAM,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;QAChD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,YAAY,UAAU,GAAG,CAAC,CAAA;SACvD;QACD,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,YAAY,UAAU,GAAG,CAAC,CAAA;SACvD;QACD,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,MAAM,GAAG,UAAU,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAA;SAC9C;QACD,OAAO,IAAI,UAAU,IAAI,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;KAErE;SAAM,IAAI,WAAW,EAAE;QAEtB,MAAM,cAAc,GAAG,IAAA,uBAAO,EAAC;YAC7B,GAAG,IAAA,0BAAQ,EAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAClD,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;SACnG,CAAC,GAAG,QAAQ,CAAC;QAEd,kDAAkD;QAClD,MAAM,CAAC,GAAG,UAAU,oDAAwB,IAAI,cAAc,KAAK,IAAA,uBAAO,EAAC,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,WAAW,IAAA,uBAAO,EAAC,MAAM,CAAC,SAAS,CAAC;QAChJ,IAAI,OAAO,CAAC,YAAY,EAAE;YAExB,MAAM,aAAa,GAAG,CAAC,GAAS,EAAE,EAAE;gBAClC,OAAO,EAAE,GAAG,EAAE,kBAAkB,OAAO,CAAC,YAAY,SAAS,KAAK,IAAI,MAAM,iDAAiD,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;YAC1I,CAAC,CAAA;YACD,IAAI;gBACF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;oBACX,MAAM,OAAO,CAAC;iBACf;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC;aACxB;SACF;QACD,MAAM,WAAW,GAAG,kBAA2B,CAAC;QAChD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,yDAAyD,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QACtJ,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,CAAC;QAChD,MAAM,cAAc,GAAG,MAAM,IAAA,kDAAiB,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,MAAM,8BAA8B,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QAC/H,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,8BAA8B,EAAE;YAC1D,MAAM,EAAE,CAAC,GAAG,CAAC,eAAe,IAAA,wBAAM,EAAC,KAAK,CAAC,oBAAoB,IAAA,wBAAM,EAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACvF;QAED,OAAO,IAAI,UAAU,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,IAAA,wBAAM,EAAC,cAAc,CAAC,UAAU,oDAAwB,IAAI,cAAc,KAAK,UAAU,WAAW,IAAA,uBAAO,EAAC,MAAM,CAAC,KAAK,CAAC;KAElM;SAAM,IAAI,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,MAAM,IAAA,uBAAO,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnF,OAAO,IAAI,UAAU,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,cAAc,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,IAAA,uBAAO,EAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,MAAM,GAAG,CAAC;KAExK;SAAM;QACL,OAAO,SAAS,CAAC;QACjB,6DAA6D;KAC9D;AACH,CAAC,CAAA;AAjFY,QAAA,wBAAwB,4BAiFpC;AAWM,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAmD,EAAgC,EAAE;IAC9H,OAAO,EAAE,CAAC,UAAU,CAAC;;;;;;;GAOpB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACd,CAAC,CAAA;AATY,QAAA,eAAe,mBAS3B"}
|
|
@@ -1,8 +1,34 @@
|
|
|
1
|
+
import pgPromise from "pg-promise";
|
|
2
|
+
import { DB } from "../Prostgles";
|
|
1
3
|
import { TableConfig } from "./TableConfig";
|
|
2
4
|
type Args = {
|
|
3
5
|
tableName: string;
|
|
4
6
|
tableConf: TableConfig[string];
|
|
5
7
|
};
|
|
6
|
-
export
|
|
8
|
+
export type ConstraintDef = {
|
|
9
|
+
/**
|
|
10
|
+
* Named constraints are used to show a relevant error message
|
|
11
|
+
*/
|
|
12
|
+
name?: string;
|
|
13
|
+
content: string;
|
|
14
|
+
alterQuery: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const getConstraintDefinitionQueries: ({ tableConf, tableName }: Args) => ConstraintDef[] | undefined;
|
|
17
|
+
export type ColConstraint = {
|
|
18
|
+
name: string;
|
|
19
|
+
table: string;
|
|
20
|
+
type: "c" | "p" | "u" | "f";
|
|
21
|
+
cols: Array<string>;
|
|
22
|
+
definition: string;
|
|
23
|
+
schema: string;
|
|
24
|
+
};
|
|
25
|
+
type ColConstraintsArgs = {
|
|
26
|
+
db: DB | pgPromise.ITask<{}>;
|
|
27
|
+
table?: string;
|
|
28
|
+
column?: string;
|
|
29
|
+
types?: ColConstraint["type"][];
|
|
30
|
+
};
|
|
31
|
+
export declare const getColConstraintsQuery: ({ column, table, types }: Omit<ColConstraintsArgs, "db">) => string;
|
|
32
|
+
export declare const getColConstraints: ({ db, column, table, types }: ColConstraintsArgs) => Promise<ColConstraint[]>;
|
|
7
33
|
export {};
|
|
8
34
|
//# sourceMappingURL=getConstraintDefinitionQueries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getConstraintDefinitionQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getConstraintDefinitionQueries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getConstraintDefinitionQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getConstraintDefinitionQueries.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAE/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,eAAO,MAAM,8BAA8B,6BAA8B,IAAI,KAAG,aAAa,EAAE,GAAG,SA6BjG,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AACD,KAAK,kBAAkB,GAAG;IACxB,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;CACjC,CAAA;AACD,eAAO,MAAM,sBAAsB,6BAA8B,KAAK,kBAAkB,EAAE,IAAI,CAAC,WAyB9F,CAAA;AACD,eAAO,MAAM,iBAAiB,iCAAkC,kBAAkB,KAAI,QAAQ,aAAa,EAAE,CAG5G,CAAA"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getConstraintDefinitionQueries = void 0;
|
|
3
|
+
exports.getColConstraints = exports.getColConstraintsQuery = exports.getConstraintDefinitionQueries = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const PubSubManager_1 = require("../PubSubManager/PubSubManager");
|
|
5
6
|
const getConstraintDefinitionQueries = ({ tableConf, tableName }) => {
|
|
6
7
|
if ("constraints" in tableConf && tableConf.constraints) {
|
|
7
8
|
const { constraints } = tableConf;
|
|
8
9
|
if (!constraints) {
|
|
9
10
|
return undefined;
|
|
10
11
|
}
|
|
11
|
-
const queries = [];
|
|
12
12
|
if (Array.isArray(constraints)) {
|
|
13
|
-
return constraints.map(c => `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)} ADD ${c}`);
|
|
13
|
+
return constraints.map(c => ({ content: c, alterQuery: `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)} ADD ${c}` }));
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
16
16
|
const constraintNames = (0, prostgles_types_1.getKeys)(tableConf.constraints);
|
|
17
|
-
constraintNames.map(constraintName => {
|
|
17
|
+
return constraintNames.map(constraintName => {
|
|
18
18
|
const _cnstr = constraints[constraintName];
|
|
19
19
|
const constraintDef = typeof _cnstr === "string" ? _cnstr : `${_cnstr.type} (${_cnstr.content})`;
|
|
20
20
|
/** Drop constraints with the same name */
|
|
@@ -22,11 +22,45 @@ const getConstraintDefinitionQueries = ({ tableConf, tableName }) => {
|
|
|
22
22
|
// if(existingConstraint){
|
|
23
23
|
// if(canDrop) queries.push(`ALTER TABLE ${asName(tableName)} DROP CONSTRAINT ${asName(constraintName)};`);
|
|
24
24
|
// }
|
|
25
|
-
|
|
25
|
+
const alterQuery = `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)} ADD CONSTRAINT ${(0, prostgles_types_1.asName)(constraintName)} ${constraintDef};`;
|
|
26
|
+
return { name: constraintName, alterQuery, content: constraintDef };
|
|
26
27
|
});
|
|
27
|
-
return queries;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
exports.getConstraintDefinitionQueries = getConstraintDefinitionQueries;
|
|
32
|
+
const getColConstraintsQuery = ({ column, table, types }) => {
|
|
33
|
+
let query = `
|
|
34
|
+
SELECT *
|
|
35
|
+
FROM (
|
|
36
|
+
SELECT distinct c.conname as name, c.contype as type,
|
|
37
|
+
pg_get_constraintdef(c.oid) as definition,
|
|
38
|
+
nsp.nspname as schema,
|
|
39
|
+
(SELECT r.relname from pg_class r where r.oid = c.conrelid) as "table",
|
|
40
|
+
(SELECT array_agg(attname::text) from pg_attribute
|
|
41
|
+
where attrelid = c.conrelid and ARRAY[attnum] <@ c.conkey) as cols
|
|
42
|
+
-- (SELECT array_agg(attname::text) from pg_attribute
|
|
43
|
+
-- where attrelid = c.confrelid and ARRAY[attnum] <@ c.confkey) as fcols,
|
|
44
|
+
-- (SELECT r.relname from pg_class r where r.oid = c.confrelid) as ftable
|
|
45
|
+
FROM pg_catalog.pg_constraint c
|
|
46
|
+
INNER JOIN pg_catalog.pg_class rel
|
|
47
|
+
ON rel.oid = c.conrelid
|
|
48
|
+
INNER JOIN pg_catalog.pg_namespace nsp
|
|
49
|
+
ON nsp.oid = connamespace
|
|
50
|
+
) t
|
|
51
|
+
WHERE TRUE
|
|
52
|
+
`;
|
|
53
|
+
if (table)
|
|
54
|
+
query += `\nAND "table" = ${(0, PubSubManager_1.asValue)(table)}`;
|
|
55
|
+
if (column)
|
|
56
|
+
query += `\nAND cols @> ARRAY[${(0, PubSubManager_1.asValue)(column)}]`;
|
|
57
|
+
if (types?.length)
|
|
58
|
+
query += `\nAND type IN (${types.map(v => (0, PubSubManager_1.asValue)(v)).join(", ")})`;
|
|
59
|
+
return query;
|
|
60
|
+
};
|
|
61
|
+
exports.getColConstraintsQuery = getColConstraintsQuery;
|
|
62
|
+
const getColConstraints = ({ db, column, table, types }) => {
|
|
63
|
+
return db.manyOrNone((0, exports.getColConstraintsQuery)({ column, table, types }));
|
|
64
|
+
};
|
|
65
|
+
exports.getColConstraints = getColConstraints;
|
|
32
66
|
//# sourceMappingURL=getConstraintDefinitionQueries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getConstraintDefinitionQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getConstraintDefinitionQueries.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getConstraintDefinitionQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getConstraintDefinitionQueries.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAElD,kEAAyD;AAiBlD,MAAM,8BAA8B,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAQ,EAA+B,EAAE;IAE5G,IAAI,aAAa,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE;QACvD,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QAClC,IAAG,CAAC,WAAW,EAAC;YACd,OAAO,SAAS,CAAC;SAClB;QAED,IAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC;YAC5B,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,eAAe,IAAA,wBAAM,EAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC;SAEvG;aAAM;YACL,MAAM,eAAe,GAAG,IAAA,yBAAO,EAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACvD,OAAO,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;gBAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC3C,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,GAAG,CAAC;gBAEhG,0CAA0C;gBAC1C,kFAAkF;gBAClF,0BAA0B;gBAC1B,6GAA6G;gBAC7G,IAAI;gBAEJ,MAAM,UAAU,GAAG,eAAe,IAAA,wBAAM,EAAC,SAAS,CAAC,mBAAmB,IAAA,wBAAM,EAAC,cAAc,CAAC,IAAI,aAAa,GAAG,CAAC;gBAEjH,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YACtE,CAAC,CAAC,CAAC;SACJ;KACF;AACH,CAAC,CAAA;AA7BY,QAAA,8BAA8B,kCA6B1C;AAgBM,MAAM,sBAAsB,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAkC,EAAE,EAAE;IACjG,IAAI,KAAK,GAAG;;;;;;;;;;;;;;;;;;;GAmBX,CAAC;IACF,IAAI,KAAK;QAAE,KAAK,IAAI,mBAAmB,IAAA,uBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;IACxD,IAAI,MAAM;QAAE,KAAK,IAAI,uBAAuB,IAAA,uBAAO,EAAC,MAAM,CAAC,GAAG,CAAC;IAC/D,IAAI,KAAK,EAAE,MAAM;QAAE,KAAK,IAAI,kBAAkB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,uBAAO,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACvF,OAAO,KAAK,CAAC;AACf,CAAC,CAAA;AAzBY,QAAA,sBAAsB,0BAyBlC;AACM,MAAM,iBAAiB,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAsB,EAA8B,EAAE;IAEhH,OAAO,EAAE,CAAC,UAAU,CAAC,IAAA,8BAAsB,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC,CAAA;AAHY,QAAA,iBAAiB,qBAG7B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DB } from "../Prostgles";
|
|
2
|
+
import { ColumnMinimalInfo } from "./getColumnDefinitionQuery";
|
|
3
|
+
import { ColConstraint, ConstraintDef } from "./getConstraintDefinitionQueries";
|
|
4
|
+
type Args = {
|
|
5
|
+
db: DB;
|
|
6
|
+
columnDefs: string[];
|
|
7
|
+
tableName: string;
|
|
8
|
+
constraintDefs?: ConstraintDef[];
|
|
9
|
+
};
|
|
10
|
+
export declare const getFutureTableSchema: ({ columnDefs, tableName, constraintDefs, db }: Args) => Promise<{
|
|
11
|
+
constraints: ColConstraint[];
|
|
12
|
+
cols: ColumnMinimalInfo[];
|
|
13
|
+
}>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=getFutureTableSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":"AACA,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;EAyD1B,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFutureTableSchema = void 0;
|
|
4
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const getColumnDefinitionQuery_1 = require("./getColumnDefinitionQuery");
|
|
6
|
+
const getConstraintDefinitionQueries_1 = require("./getConstraintDefinitionQueries");
|
|
7
|
+
const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = [], db }) => {
|
|
8
|
+
let constraints = [];
|
|
9
|
+
let cols = [];
|
|
10
|
+
const ROLLBACK = "Rollback";
|
|
11
|
+
try {
|
|
12
|
+
await db.tx(async (t) => {
|
|
13
|
+
// const { v } = await t.one("SELECT md5(random()::text) as v");
|
|
14
|
+
// /** TODO: create all tables in a random new schema */
|
|
15
|
+
// const randomTableName = `prostgles_constr_${v}`;
|
|
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
|
+
// `;
|
|
27
|
+
const tableEsc = (0, prostgles_types_1.asName)(tableName);
|
|
28
|
+
const consQueries = constraintDefs.map(c => `ALTER TABLE ${tableEsc} ADD ${c.name ? ` CONSTRAINT ${(0, prostgles_types_1.asName)(c.name)}` : ""} ${c.content};`).join("\n");
|
|
29
|
+
const query = `
|
|
30
|
+
DROP TABLE IF EXISTS ${tableEsc} CASCADE;
|
|
31
|
+
CREATE TABLE ${tableEsc} (
|
|
32
|
+
${columnDefs.join(",\n")}
|
|
33
|
+
);
|
|
34
|
+
${consQueries}
|
|
35
|
+
`;
|
|
36
|
+
await t.any(query);
|
|
37
|
+
constraints = await (0, getConstraintDefinitionQueries_1.getColConstraints)({ db: t, table: tableName });
|
|
38
|
+
cols = await (0, getColumnDefinitionQuery_1.getTableColumns)({ db: t, table: tableName });
|
|
39
|
+
/** Rollback */
|
|
40
|
+
return Promise.reject(ROLLBACK);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
if (e !== ROLLBACK) {
|
|
45
|
+
throw e;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return { cols, constraints };
|
|
49
|
+
};
|
|
50
|
+
exports.getFutureTableSchema = getFutureTableSchema;
|
|
51
|
+
//# sourceMappingURL=getFutureTableSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFutureTableSchema.js","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":";;;AAAA,qDAAyC;AAGzC,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,EAAE,CAAC,EAAE,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;YACpB,gEAAgE;YAEhE,wDAAwD;YACxD,mDAAmD;YAEnD,8EAA8E;YAC9E,+DAA+D;YAC/D,+DAA+D;YAC/D,gCAAgC;YAChC,kCAAkC;YAClC,MAAM;YAIN,oDAAoD;YACpD,iDAAiD;YACjD,OAAO;YACP,oBAAoB;YACpB,KAAK;YAEL,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;AA3DY,QAAA,oBAAoB,wBA2DhC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DB, DBHandlerServer } from "../Prostgles";
|
|
2
|
+
import { TableConfig } from "./TableConfig";
|
|
3
|
+
type Args = {
|
|
4
|
+
db: DB;
|
|
5
|
+
tableConf: TableConfig[string];
|
|
6
|
+
tableName: string;
|
|
7
|
+
tableHandler: DBHandlerServer[string];
|
|
8
|
+
};
|
|
9
|
+
export declare const getTableColumnQueries: ({ db, tableConf, tableName, tableHandler }: Args) => Promise<{
|
|
10
|
+
columnDefs: string[];
|
|
11
|
+
newColumnDefs: string[];
|
|
12
|
+
fullQuery: string;
|
|
13
|
+
isCreate: boolean;
|
|
14
|
+
} | undefined>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=getTableColumnQueries.d.ts.map
|
|
@@ -0,0 +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;AAI5C,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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTableColumnQueries = void 0;
|
|
4
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const validate_jsonb_schema_sql_1 = require("../JSONBValidation/validate_jsonb_schema_sql");
|
|
6
|
+
const getColumnDefinitionQuery_1 = require("./getColumnDefinitionQuery");
|
|
7
|
+
const getFutureTableSchema_1 = require("./getFutureTableSchema");
|
|
8
|
+
const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler }) => {
|
|
9
|
+
let newColumnDefs = [];
|
|
10
|
+
const droppedColNames = [];
|
|
11
|
+
const alteredColQueries = [];
|
|
12
|
+
let fullQuery = "";
|
|
13
|
+
let isCreate = false;
|
|
14
|
+
if ("columns" in tableConf && tableConf.columns) {
|
|
15
|
+
const hasJSONBValidation = (0, prostgles_types_1.getKeys)(tableConf.columns).some(c => {
|
|
16
|
+
const cConf = tableConf.columns?.[c];
|
|
17
|
+
return cConf && (0, prostgles_types_1.isObject)(cConf) && (cConf.jsonbSchema || cConf.jsonbSchemaType);
|
|
18
|
+
});
|
|
19
|
+
/** Must install validation function */
|
|
20
|
+
if (hasJSONBValidation) {
|
|
21
|
+
try {
|
|
22
|
+
await db.any(validate_jsonb_schema_sql_1.validate_jsonb_schema_sql);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
console.error("Could not install the jsonb validation function due to error: ", err);
|
|
26
|
+
throw err;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const columns = (0, prostgles_types_1.getKeys)(tableConf.columns).filter(c => {
|
|
30
|
+
const colDef = tableConf.columns[c];
|
|
31
|
+
/** Exclude NamedJoinColumn */
|
|
32
|
+
return typeof colDef === "string" || !("joinDef" in colDef);
|
|
33
|
+
});
|
|
34
|
+
const colDefs = [];
|
|
35
|
+
for await (const colName of columns) {
|
|
36
|
+
const colConf = tableConf.columns[colName];
|
|
37
|
+
/* Get column definition */
|
|
38
|
+
const colDef = await (0, getColumnDefinitionQuery_1.getColumnDefinitionQuery)({ colConf, column: colName, db, table: tableName });
|
|
39
|
+
if (colDef) {
|
|
40
|
+
colDefs.push({ name: colName, def: colDef });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const columnDefs = colDefs.map(c => c.def);
|
|
44
|
+
if (!colDefs.length) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
const ALTERQ = `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)}`;
|
|
48
|
+
if (!tableHandler) {
|
|
49
|
+
newColumnDefs.push(...colDefs.map(c => c.def));
|
|
50
|
+
}
|
|
51
|
+
else if (tableHandler) {
|
|
52
|
+
const currCols = await (0, getColumnDefinitionQuery_1.getTableColumns)({ db, table: tableName });
|
|
53
|
+
/** Add new columns */
|
|
54
|
+
newColumnDefs = colDefs.filter(nc => !tableHandler.columns?.some(c => nc.name === c.name)).map(c => c.def);
|
|
55
|
+
/** Altered/Dropped columns */
|
|
56
|
+
const { cols: futureCols } = await (0, getFutureTableSchema_1.getFutureTableSchema)({ tableName, columnDefs, constraintDefs: [], db });
|
|
57
|
+
currCols.forEach(c => {
|
|
58
|
+
const newCol = futureCols.find(nc => nc.column_name === c.column_name);
|
|
59
|
+
if (!newCol) {
|
|
60
|
+
droppedColNames.push(c.column_name);
|
|
61
|
+
}
|
|
62
|
+
else if (newCol.nullable !== c.nullable) {
|
|
63
|
+
alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} ${newCol.nullable ? "SET" : "DROP"} NOT NULL;`);
|
|
64
|
+
}
|
|
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};`);
|
|
67
|
+
}
|
|
68
|
+
else if (newCol.column_default !== c.column_default) {
|
|
69
|
+
const colConfig = colDefs.find(cd => cd.name === c.column_name);
|
|
70
|
+
if (["serial", "bigserial"].some(t => colConfig?.def.toLowerCase().includes(` ${t}`)) && c.column_default?.toLowerCase().includes("nextval")) {
|
|
71
|
+
/** Ignore SERIAL/BIGSERIAL <> nextval mismatch */
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} ${newCol.column_default === null ? "DROP DEFAULT" : `SET DEFAULT ${newCol.column_default}`};`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
if (!tableHandler || tableConf.dropIfExists || tableConf.dropIfExistsCascade) {
|
|
80
|
+
isCreate = true;
|
|
81
|
+
const DROPQ = `DROP TABLE IF EXISTS ${(0, prostgles_types_1.asName)(tableName)}`;
|
|
82
|
+
fullQuery = ([
|
|
83
|
+
...(tableConf.dropIfExists ? [`${DROPQ};`] : tableConf.dropIfExistsCascade ? [`${DROPQ} CASCADE;`] : []),
|
|
84
|
+
`CREATE TABLE ${(0, prostgles_types_1.asName)(tableName)} (`,
|
|
85
|
+
columnDefs.join(", \n"),
|
|
86
|
+
`);`
|
|
87
|
+
].join("\n"));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
fullQuery = [
|
|
91
|
+
...droppedColNames.map(c => `${ALTERQ} DROP COLUMN ${(0, prostgles_types_1.asName)(c)};`),
|
|
92
|
+
...newColumnDefs.map(c => `${ALTERQ} ADD COLUMN ${c};`),
|
|
93
|
+
...alteredColQueries,
|
|
94
|
+
].join("\n");
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
fullQuery,
|
|
98
|
+
columnDefs,
|
|
99
|
+
isCreate,
|
|
100
|
+
newColumnDefs,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
exports.getTableColumnQueries = getTableColumnQueries;
|
|
108
|
+
//# sourceMappingURL=getTableColumnQueries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTableColumnQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":"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"}
|
package/lib/Prostgles.d.ts
CHANGED
|
@@ -183,6 +183,11 @@ export type ProstglesInitOptions<S = void, SUser extends SessionUser = SessionUs
|
|
|
183
183
|
*/
|
|
184
184
|
tableConfig?: TableConfig;
|
|
185
185
|
tableConfigMigrations?: {
|
|
186
|
+
/**
|
|
187
|
+
* If false then prostgles won't start on any tableConfig error
|
|
188
|
+
* true by default
|
|
189
|
+
*/
|
|
190
|
+
silentFail?: boolean;
|
|
186
191
|
version: number;
|
|
187
192
|
/** Table that will contain the schema version number and the tableConfig
|
|
188
193
|
* Defaults to schema_version
|
|
@@ -217,7 +222,7 @@ export type InitResult = {
|
|
|
217
222
|
restart: () => Promise<InitResult>;
|
|
218
223
|
};
|
|
219
224
|
import { DBOFullyTyped } from "./DBSchemaBuilder";
|
|
220
|
-
import { ColConstraint } from "./TableConfig/
|
|
225
|
+
import { ColConstraint } from "./TableConfig/getConstraintDefinitionQueries";
|
|
221
226
|
export declare class Prostgles {
|
|
222
227
|
opts: ProstglesInitOptions;
|
|
223
228
|
db?: DB;
|
package/lib/Prostgles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["Prostgles.ts"],"names":[],"mappings":";AAMA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,GAAG,QAAQ,iCAAiC,CAAC,CAAC;AACvD,OAAO,WAAW,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElF,OAAO,iBAAiB,EAAE,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG3E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAiB,YAAY,EAAE,MAAM,cAAc,CAAC;AAExF,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAElD,OAAO,EAA8C,SAAS,EAAwC,gBAAgB,EAAsB,MAAM,iBAAiB,CAAC;AACpK,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AACrD,KAAK,YAAY,GAAG,MAAM,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAClE,KAAK,gBAAgB,GAAG,EAAE,CAAC,SAAS,CAAC;AAErC,eAAO,MAAM,aAAa,sEAAuE,CAAC;AAoElG,eAAO,MAAM,UAAU,2DAA4D,CAAC;AACpF,MAAM,MAAM,IAAI,GAAG;IACjB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,EAAE,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAChC,IAAI,EAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;CACjC,CAAC;AACF,MAAM,MAAM,KAAK,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC;AAIxC,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAYF,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,CACH,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,CACF,GAAG,EAAE;QACH,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACzB,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KACzB,EACD,GAAG,EAAE;QACH,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,GAAG,CAAC;QACvC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,KAAK,GAAG,CAAC;QAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YACxB,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,GAAG,CAAC;SACpC,CAAA;KACF,KACE,GAAG,KACL,GAAG,CAAC;IACT,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE;YACN,MAAM,EAAE,QAAQ,CAAC;YACjB,IAAI,EAAE,SAAS,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,EAAE;gBACN,IAAI,CAAC,EAAE,MAAM,CAAC;aACf,CAAA;SACF,EAAE,CAAA;KACJ,CAAA;CACF,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAQ1B;;;;OAIG;IACH,aAAa,CAAC,EAAE;QACd;;WAEG;QACH,gBAAgB,EAAE,MAAM,CAAC;QACzB;;WAEG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAA;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,CAAC,EAAE;QACjB,CAAC,SAAS,EAAE,MAAM,GACd,KAAK,GAAG,MAAM;QAEhB;;aAEK;QAGL;;;aAGK;WACH;YAAE,IAAI,EAAE,QAAQ,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;SAAE,CAAA;KAC3E,CAAC;IACF,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,IAAI;IACpF,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1C,aAAa,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9F,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzG,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5G,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC;IAEhB;;;OAGG;IACD,aAAa;IAEf;;;OAGG;OACD,mBAAmB;IAErB;;OAEG;OACD;QAAE,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IAElC;;OAEG;IACH,WAAW,CAAC,EACR,OAAO;IAET;;;OAGG;OACD,eAAe;IAEjB;;OAEG;OACD,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,CAAA;IAEzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qBAAqB,CAAC,EAAE;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB;;UAEE;QACF,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B;;WAEG;QACH,SAAS,EAAE,CAAC,IAAI,EAAE;YAChB,EAAE,EAAE,EAAE,CAAC;YACP,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;YAC/B,cAAc,EAAE,CACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAC5B,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;SAC9B,KAAK,IAAI,CAAC;KACZ,CAAC;CACH,CAAA;AAUD,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAC;CACR,CAAA;AAED,KAAK,eAAe,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC;AAExE,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,aAAa,CAAC;IAClB,GAAG,EAAE,EAAE,CAAC;IACR,GAAG,EAAE,GAAG,CAAC;IACT,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;CACnC,CAAA;AAUD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["Prostgles.ts"],"names":[],"mappings":"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"}
|
package/lib/Prostgles.js
CHANGED
|
@@ -348,8 +348,12 @@ class Prostgles {
|
|
|
348
348
|
await this.tableConfigurator.init();
|
|
349
349
|
}
|
|
350
350
|
catch (e) {
|
|
351
|
-
|
|
352
|
-
|
|
351
|
+
if (this.opts.tableConfigMigrations?.silentFail === false) {
|
|
352
|
+
console.error("TableConfigurator silentFail: ", e);
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
throw e;
|
|
356
|
+
}
|
|
353
357
|
}
|
|
354
358
|
}
|
|
355
359
|
/* 3. Make DBO object from all tables and views */
|
package/lib/Prostgles.ts
CHANGED
|
@@ -288,6 +288,12 @@ export type ProstglesInitOptions<S = void, SUser extends SessionUser = SessionUs
|
|
|
288
288
|
*/
|
|
289
289
|
tableConfig?: TableConfig;
|
|
290
290
|
tableConfigMigrations?: {
|
|
291
|
+
/**
|
|
292
|
+
* If false then prostgles won't start on any tableConfig error
|
|
293
|
+
* true by default
|
|
294
|
+
*/
|
|
295
|
+
silentFail?: boolean;
|
|
296
|
+
|
|
291
297
|
version: number;
|
|
292
298
|
/** Table that will contain the schema version number and the tableConfig
|
|
293
299
|
* Defaults to schema_version
|
|
@@ -346,7 +352,7 @@ const DEFAULT_KEYWORDS = {
|
|
|
346
352
|
|
|
347
353
|
import * as fs from 'fs';
|
|
348
354
|
import { DBOFullyTyped } from "./DBSchemaBuilder";
|
|
349
|
-
import { ColConstraint } from "./TableConfig/
|
|
355
|
+
import { ColConstraint } from "./TableConfig/getConstraintDefinitionQueries";
|
|
350
356
|
export class Prostgles {
|
|
351
357
|
|
|
352
358
|
opts: ProstglesInitOptions = {
|
|
@@ -612,8 +618,11 @@ export class Prostgles {
|
|
|
612
618
|
try {
|
|
613
619
|
await this.tableConfigurator.init();
|
|
614
620
|
} catch (e) {
|
|
615
|
-
|
|
616
|
-
|
|
621
|
+
if(this.opts.tableConfigMigrations?.silentFail === false){
|
|
622
|
+
console.error("TableConfigurator silentFail: ", e);
|
|
623
|
+
} else {
|
|
624
|
+
throw e;
|
|
625
|
+
}
|
|
617
626
|
}
|
|
618
627
|
}
|
|
619
628
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["TableConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,SAAS,EAAE,SAAS,EAAG,iBAAiB,EAAE,oBAAoB,EAAY,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["TableConfig.ts"],"names":[],"mappings":"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"}
|