@owlmeans/postgres-resource 0.1.18-rc.3 → 0.1.18-rc.30
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/README.md +185 -101
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/postgres-resource/SKILL.md +82 -18
- package/build/consts.d.ts +8 -1
- package/build/consts.d.ts.map +1 -1
- package/build/consts.js +8 -1
- package/build/consts.js.map +1 -1
- package/build/declarations.js +5 -5
- package/build/resource.d.ts +2 -2
- package/build/resource.d.ts.map +1 -1
- package/build/resource.js +95 -108
- package/build/resource.js.map +1 -1
- package/build/types.d.ts +27 -19
- package/build/types.d.ts.map +1 -1
- package/build/utils/criteria.d.ts +10 -6
- package/build/utils/criteria.d.ts.map +1 -1
- package/build/utils/criteria.js +13 -5
- package/build/utils/criteria.js.map +1 -1
- package/build/utils/diff.d.ts.map +1 -1
- package/build/utils/diff.js +31 -1
- package/build/utils/diff.js.map +1 -1
- package/build/utils/migrations.d.ts +2 -2
- package/build/utils/migrations.js +2 -2
- package/build/utils/name.d.ts +3 -3
- package/build/utils/name.js +3 -3
- package/build/utils/sql.d.ts +10 -2
- package/build/utils/sql.d.ts.map +1 -1
- package/build/utils/sql.js.map +1 -1
- package/build/utils/table.d.ts +4 -0
- package/build/utils/table.d.ts.map +1 -1
- package/build/utils/table.js +4 -0
- package/build/utils/table.js.map +1 -1
- package/package.json +7 -7
- package/src/consts.ts +8 -1
- package/src/declarations.ts +5 -5
- package/src/resource.ts +118 -135
- package/src/types.ts +29 -18
- package/src/utils/criteria.ts +25 -17
- package/src/utils/diff.ts +31 -1
- package/src/utils/migrations.ts +2 -2
- package/src/utils/name.ts +3 -3
- package/src/utils/sql.ts +0 -0
- package/src/utils/table.ts +5 -1
- package/tests/criteria.spec.ts +187 -0
- package/tests/diff.spec.ts +60 -0
- package/tests/name.spec.ts +3 -3
- package/tests/sql.spec.ts +4 -3
|
@@ -1,24 +1,28 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Criteria, Sort } from '@owlmeans/resource';
|
|
2
2
|
import type { SQL } from 'drizzle-orm';
|
|
3
3
|
import type { PgRuntimeTable, TableSpec } from '../types.js';
|
|
4
4
|
/**
|
|
5
|
-
* Translate
|
|
5
|
+
* Translate a {@link Criteria} into a WHERE clause. `undefined` means "no constraint at
|
|
6
|
+
* all" — the caller decides whether that is a full scan or a refusal.
|
|
6
7
|
*
|
|
7
8
|
* An unknown key raises rather than being skipped: a typo silently widening a query to
|
|
8
9
|
* the whole table is the failure mode worth being loud about.
|
|
9
10
|
*
|
|
10
11
|
* @throws {UnsupportedArgumentError}
|
|
11
12
|
*/
|
|
12
|
-
export declare const criteriaToSql: (criteria:
|
|
13
|
+
export declare const criteriaToSql: <T>(criteria: Criteria<T> | undefined, spec: TableSpec, table: PgRuntimeTable) => SQL | undefined;
|
|
13
14
|
/**
|
|
14
|
-
* Translate
|
|
15
|
-
* `
|
|
15
|
+
* Translate a {@link Sort} list into ORDER BY. A bare field name is ascending;
|
|
16
|
+
* `{ field, order: 'desc' }` reverses it — the same meaning every backend gives it.
|
|
16
17
|
*
|
|
17
18
|
* The primary key is always appended as a tiebreak. Postgres has no implicit row order, so
|
|
18
19
|
* paginating on a non-unique sort key silently duplicates and skips rows between pages —
|
|
19
20
|
* a difference from mongo that would otherwise surface as a data bug rather than an error.
|
|
20
21
|
*
|
|
22
|
+
* A dotted path is a column this table does not have: criteria can reach into jsonb, ORDER BY
|
|
23
|
+
* cannot, and refusing is better than ordering by something the caller did not name.
|
|
24
|
+
*
|
|
21
25
|
* @throws {UnsupportedArgumentError}
|
|
22
26
|
*/
|
|
23
|
-
export declare const sortToSql: (sort:
|
|
27
|
+
export declare const sortToSql: <T>(sort: Sort<T>[] | undefined, spec: TableSpec, table: PgRuntimeTable) => SQL[];
|
|
24
28
|
//# sourceMappingURL=criteria.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../src/utils/criteria.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../src/utils/criteria.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAkB,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAExE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,KAAK,EAAc,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAyHxE;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,YACnB,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,QAAQ,SAAS,SAAS,cAAc,KACxE,GAAG,GAAG,SAIR,CAAA;AAuED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,QACnB,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,QAAQ,SAAS,SAAS,cAAc,KAClE,GAAG,EA0BL,CAAA"}
|
package/build/utils/criteria.js
CHANGED
|
@@ -96,10 +96,15 @@ const operators = (table, column, spec) => {
|
|
|
96
96
|
return conditions;
|
|
97
97
|
};
|
|
98
98
|
const escapeLike = (value) => value.replace(/[\\%_]/g, match => `\\${match}`);
|
|
99
|
+
/**
|
|
100
|
+
* An object naming at least one `$` key is a spec, not a value to compare against.
|
|
101
|
+
* A Date and an array are values even though both are objects.
|
|
102
|
+
*/
|
|
99
103
|
const isOperatorSpec = (value) => value != null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date)
|
|
100
104
|
&& Object.keys(value).some(key => key.startsWith('$'));
|
|
101
105
|
/**
|
|
102
|
-
* Translate
|
|
106
|
+
* Translate a {@link Criteria} into a WHERE clause. `undefined` means "no constraint at
|
|
107
|
+
* all" — the caller decides whether that is a full scan or a refusal.
|
|
103
108
|
*
|
|
104
109
|
* An unknown key raises rather than being skipped: a typo silently widening a query to
|
|
105
110
|
* the whole table is the failure mode worth being loud about.
|
|
@@ -173,21 +178,24 @@ const build = (criteria, spec, table) => {
|
|
|
173
178
|
return conditions;
|
|
174
179
|
};
|
|
175
180
|
/**
|
|
176
|
-
* Translate
|
|
177
|
-
* `
|
|
181
|
+
* Translate a {@link Sort} list into ORDER BY. A bare field name is ascending;
|
|
182
|
+
* `{ field, order: 'desc' }` reverses it — the same meaning every backend gives it.
|
|
178
183
|
*
|
|
179
184
|
* The primary key is always appended as a tiebreak. Postgres has no implicit row order, so
|
|
180
185
|
* paginating on a non-unique sort key silently duplicates and skips rows between pages —
|
|
181
186
|
* a difference from mongo that would otherwise surface as a data bug rather than an error.
|
|
182
187
|
*
|
|
188
|
+
* A dotted path is a column this table does not have: criteria can reach into jsonb, ORDER BY
|
|
189
|
+
* cannot, and refusing is better than ordering by something the caller did not name.
|
|
190
|
+
*
|
|
183
191
|
* @throws {UnsupportedArgumentError}
|
|
184
192
|
*/
|
|
185
193
|
export const sortToSql = (sort, spec, table) => {
|
|
186
194
|
const order = [];
|
|
187
195
|
const seen = [];
|
|
188
196
|
for (const entry of sort ?? []) {
|
|
189
|
-
|
|
190
|
-
const
|
|
197
|
+
const property = typeof entry === 'string' ? entry : entry.field;
|
|
198
|
+
const descending = typeof entry !== 'string' && entry.order === 'desc';
|
|
191
199
|
const column = spec.byProperty[property];
|
|
192
200
|
if (column == null) {
|
|
193
201
|
throw new UnsupportedArgumentError(`sort:${property}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../src/utils/criteria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAKrD,MAAM,UAAU,GAA2B;IACzC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;CAChE,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAE,MAAkB,EAAO,EAAE,CAAC,GAAG,CAAA,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;AAEpG,MAAM,KAAK,GAAG,CAAC,GAAY,EAAE,MAAkB,EAAO,EAAE;IACtD,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,GAAG,CAAA,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAA;IACpC,CAAC;IAED,OAAO,GAAG,CAAA,GAAG,GAAG,EAAE,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,KAAqB,EAAE,MAAkB,EAAE,MAAiB,EAAE,MAAe,EAAO,EAAE;IACpG,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAA;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAA;IAEhD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,oGAAoG;QACpG,OAAO,OAAO;YACZ,CAAC,CAAC,GAAG,CAAA,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA,EAAE,OAAO;YACvE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA,OAAO,CAAA;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAA,IAAI,CAAC,CAAA;IAC1E,MAAM,UAAU,GAAG,MAAM;QACvB,CAAC,CAAC,GAAG,CAAA,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,GAAG;QACnD,CAAC,CAAC,GAAG,CAAA,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAA;IAEjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,UAAU,CAAA;IACnB,CAAC;IACD;;;OAGG;IACH,OAAO,MAAM;QACX,CAAC,CAAC,GAAG,CAAA,IAAI,UAAU,QAAQ,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe;QAClE,CAAC,CAAC,GAAG,CAAA,IAAI,UAAU,OAAO,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAChB,KAAqB,EAAE,MAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../src/utils/criteria.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKrD,OAAO,KAAK,EACE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAiC,SAAS,EACvF,MAAM,aAAa,CAAA;AAqDpB;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,SACpB,SAAS,YAAY,YAAY,CAAC,GAAG,CAAC,KAC3C,YAAY,EAwCb,CAAA;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,SACb,SAAS,QAAQ,SAAS,aAAY,OAAO,KAClD,
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKrD,OAAO,KAAK,EACE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAiC,SAAS,EACvF,MAAM,aAAa,CAAA;AAqDpB;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,SACpB,SAAS,YAAY,YAAY,CAAC,GAAG,CAAC,KAC3C,YAAY,EAwCb,CAAA;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,SACb,SAAS,QAAQ,SAAS,aAAY,OAAO,KAClD,OAqPF,CAAA"}
|
package/build/utils/diff.js
CHANGED
|
@@ -168,7 +168,31 @@ export const planSync = (spec, live, additive = false) => {
|
|
|
168
168
|
if (existing == null) {
|
|
169
169
|
continue;
|
|
170
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* A retype drops the column's default first.
|
|
173
|
+
*
|
|
174
|
+
* Postgres refuses `ALTER COLUMN … TYPE` outright when the column carries a DEFAULT it cannot
|
|
175
|
+
* cast to the new type — `42804 default for column "x" cannot be cast automatically` — and it
|
|
176
|
+
* refuses it before looking at a single row, so the `USING` clause never gets a chance to
|
|
177
|
+
* help. The whole plan runs in one transaction, so that refusal aborts the entire
|
|
178
|
+
* reconciliation: the table keeps its old shape and the resource fails every boot with an
|
|
179
|
+
* error about a column it is trying to fix. The standard remedy is to take the default out of
|
|
180
|
+
* the way, retype, and put it back — which is what the default-drift block below does, from
|
|
181
|
+
* the spec rather than from whatever the column happened to be carrying.
|
|
182
|
+
*
|
|
183
|
+
* The `id` column is the one that meets this in practice: it is created with a
|
|
184
|
+
* `gen_random_uuid()::text` default, so any change to its declared type hits this path.
|
|
185
|
+
*/
|
|
186
|
+
let defaultDropped = false;
|
|
171
187
|
if (!additive && existing.type !== column.sqlType) {
|
|
188
|
+
if (existing.defaultExpr != null) {
|
|
189
|
+
statements.push({
|
|
190
|
+
kind: 'set-default',
|
|
191
|
+
target: column.column,
|
|
192
|
+
sql: `ALTER TABLE ${spec.qualified} ALTER COLUMN ${quoteIdent(column.column)} DROP DEFAULT`
|
|
193
|
+
});
|
|
194
|
+
defaultDropped = true;
|
|
195
|
+
}
|
|
172
196
|
const using = column.using ?? `${quoteIdent(column.column)}::${column.sqlType}`;
|
|
173
197
|
statements.push({
|
|
174
198
|
kind: 'alter-type',
|
|
@@ -178,7 +202,13 @@ export const planSync = (spec, live, additive = false) => {
|
|
|
178
202
|
});
|
|
179
203
|
}
|
|
180
204
|
const expression = defaultExpression(column);
|
|
181
|
-
|
|
205
|
+
// Once the retype has dropped it, the default has to be re-stated even when it matches what
|
|
206
|
+
// the column used to carry: the comparison is against the pre-plan introspection, which stops
|
|
207
|
+
// describing the column the moment the plan drops its default.
|
|
208
|
+
const defaultDrifted = defaultDropped
|
|
209
|
+
? expression != null
|
|
210
|
+
: normalizeDefault(expression) !== normalizeDefault(existing.defaultExpr);
|
|
211
|
+
if (defaultDrifted) {
|
|
182
212
|
statements.push(expression != null
|
|
183
213
|
? {
|
|
184
214
|
kind: 'set-default',
|
package/build/utils/diff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAIvD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE/C,MAAM,OAAO,GAAG,CAAC,KAAuC,EAAU,EAAE;IAClE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,GAAG,KAAK,EAAE,CAAA;IAChD,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IAE/D,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,MAAkB,EAAsB,EAAE;IACnE,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC,UAAU,CAAA;IACvD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAE9E,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,UAAqC,EAAiB,EAAE;IAChF,IAAI,UAAU,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAEnC,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;AACpF,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAU,EAAE,CACzD,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;AAE7E,MAAM,UAAU,GAAG,CAAC,OAAiB,EAAU,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEpF,MAAM,cAAc,GAAG,CAAC,IAAe,EAAE,KAAkB,EAAU,EAAE;IACrE,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI;QACrC,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG;QACzB,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,OAAmB,CAAC,GAAG,CAAA;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAEhE,OAAO,UAAU,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,UAAU,CAAC,KAAK,CAAC,IAAK,CAAC,EAAE;UACrF,OAAO,IAAI,CAAC,SAAS,UAAU,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC,KAAK,IAAI,MAAM,GAAG,KAAK,EAAE,CAAA;AAC5F,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,MAAkB,EAAU,EAAE;IACtD,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IACzD,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAI,UAAU,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC,CAAA;IAE3D,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAe,EAAE,OAA2B,EAC5B,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;IACnD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3F,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,wBAAwB,CAAC,uBAAuB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IACjF,CAAC;IAED,IAAI,YAAY,GAAG,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;IAClD,IAAI,WAAW,GAAG,SAAS,CAAC,KAAK,CAAA;IACjC,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,wBAAwB,CAAC,iBAAiB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,MAAwC,CAAA;QAC5C,IAAI,CAAC;YACH,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAmC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACjF,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,wBAAwB,CAAC,uBAAuB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;QACjF,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,wBAAwB,CAAC,oBAAoB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9E,CAAC;QACD,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAA;QAClC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAA;IAClC,CAAC;IACD,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,wBAAwB,CAAC,gBAAgB,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,MAAM,OAAO,GAAG;QACd,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;QACpE,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;KACrE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEV,OAAO;QACL,IAAI,EAAE,iBAA0B;QAChC,MAAM,EAAE,SAAS,CAAC,IAAK;QACvB,GAAG,EAAE,eAAe,IAAI,CAAC,SAAS,mBAAmB,UAAU,CAAC,SAAS,CAAC,IAAK,CAAC,EAAE;cAC9E,iBAAiB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG;cAC7C,eAAe,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,KAAK,UAAU,CAAC,SAAS,CAAC,MAAO,CAAC,IAAI,OAAO,EAAE;KACrG,CAAA;AACH,CAAC,CAAC,CAAA;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAAe,EAAE,IAAe,EAAE,QAAQ,GAAY,KAAK,EAClD,EAAE;IACX,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,WAAW,GAAa,EAAE,CAAA;QAChC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,OAAO,CAAC,iBAAiB,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACjH,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,WAAW,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,MAAM,CAAC,IAAK,CAAC,YAAY,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACnG,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,WAAW,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,KAAK,CAAC,IAAK,CAAC,WAAW,KAAK,CAAC,UAAU,GAAG,CAAC,CAAA;QACvF,CAAC;QAED,MAAM,UAAU,GAAmB,CAAC;gBAClC,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,IAAI,CAAC,KAAK;gBAClB,GAAG,EAAE,gBAAgB,IAAI,CAAC,SAAS,QAAQ;sBACvC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;sBACrE,KAAK;aACV,CAAC,CAAA;QACF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,IAAK,EAAE,GAAG,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QAClG,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;IACpC,CAAC;IAED,MAAM,UAAU,GAAmB,EAAE,CAAA;IACrC,MAAM,MAAM,GAAgD,EAAE,CAAA;IAC9D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE7D,8FAA8F;IAC9F,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAClC,SAAQ;QACV,CAAC;QACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC5C,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,eAAe,IAAI,CAAC,SAAS,eAAe,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE;kBAC1F,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACvB,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,GAAG,EAAE,UAAU,IAAI,CAAC,SAAS,QAAQ,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE;0BAClF,UAAU,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;iBAClD,CAAC,CAAA;YACJ,CAAC;YACD,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,EAAE,eAAe,IAAI,CAAC,SAAS,iBAAiB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe;aAC5F,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACtC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAA;YAC/E,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,EAAE,eAAe,IAAI,CAAC,SAAS,iBAAiB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;sBAC1E,SAAS,MAAM,CAAC,OAAO,UAAU,KAAK,EAAE;aAC7C,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI;gBAChC,CAAC,CAAC;oBACA,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,GAAG,EAAE,eAAe,IAAI,CAAC,SAAS,iBAAiB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;0BAC1E,gBAAgB,UAAU,EAAE;iBACjC;gBACD,CAAC,CAAC;oBACA,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,GAAG,EAAE,eAAe,IAAI,CAAC,SAAS,iBAAiB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe;iBAC5F,CAAC,CAAA;QACN,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,GAAG,EAAE,UAAU,IAAI,CAAC,SAAS,QAAQ,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;0BAC5D,MAAM,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;iBACtF,CAAC,CAAA;YACJ,CAAC;YACD,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe;gBACvD,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,EAAE,eAAe,IAAI,CAAC,SAAS,iBAAiB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;sBAC1E,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,WAAW;aACnD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,MAAM,kBAAkB,GAA2B,EAAE,CAAA;IACrD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,kBAAkB,CAAC,MAAM,CAAC,IAAK,CAAC,GAAG,WAAW,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAA;IAC7E,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,kBAAkB,CAAC,KAAK,CAAC,IAAK,CAAC,GAAG,WAAW,KAAK,CAAC,UAAU,IAAI,CAAA;IACnE,CAAC;IACD,MAAM,eAAe,GAA2B,EAAE,CAAA;IAClD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,UAAU,CAAC,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YACvD,SAAQ;QACV,CAAC;QACD,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,UAAU,CAAA;IAC1D,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,OAAO,IAAI,IAAI,IAAI,mBAAmB,CAAC,OAAO,CAAC,KAAK,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;YACxF,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;YAChC,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YAChD,uEAAuE;YACvE,SAAQ;QACV,CAAC;QACD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,eAAe,IAAI,CAAC,SAAS,oBAAoB,UAAU,CAAC,IAAI,CAAC,EAAE;SACzE,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,QAAQ,IAAI,IAAI,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1F,SAAQ;QACV,CAAC;QACD,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;YACjC,SAAQ;QACV,CAAC;QACD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,eAAe,IAAI,CAAC,SAAS,mBAAmB,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE;SACtF,CAAC,CAAA;IACJ,CAAC;IAED,sFAAsF;IACtF,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAC5E,MAAM,cAAc,GAA2B,EAAE,CAAA;IACjD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,cAAc,CAAC,KAAK,CAAC,IAAK,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC3D,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,SAAQ;QACV,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,OAAO,IAAI,IAAI,IAAI,mBAAmB,CAAC,OAAO,CAAC,KAAK,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACjG,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACvE,SAAQ;QACV,CAAC;QACD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,QAAQ,CAAC,IAAI;YACrB,GAAG,EAAE,cAAc,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;SACzD,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAChE,IAAI,QAAQ,IAAI,IAAI,IAAI,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACpG,SAAQ;QACV,CAAC;QACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,SAAQ;QACV,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,4CAA4C;IAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QACzE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;gBAC9D,SAAQ;YACV,CAAC;YACD,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,QAAQ,CAAC,IAAI;gBACrB,WAAW,EAAE,IAAI;gBACjB,GAAG,EAAE,eAAe,IAAI,CAAC,SAAS,gBAAgB,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;aAC9E,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,gFAAgF;AAChF,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,IAAe,EAAW,EAAE,CAC7D,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;AAEnC,6EAA6E;AAC7E,MAAM,QAAQ,GAAG,CAAC,MAAkB,EAAU,EAAE;IAC9C,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,SAAS,MAAM,CAAC,OAAO,EAAE,CAAA;IAClD,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,aAAa,CAAA;IACtC,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,GAAG,CAAA;QACZ,KAAK,SAAS;YACZ,OAAO,OAAO,CAAA;QAChB,KAAK,MAAM;YACT,OAAO,OAAO,CAAA;QAChB;YACE,OAAO,OAAO,MAAM,CAAC,OAAO,EAAE,CAAA;IAClC,CAAC;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,8 @@ export declare const makeTx: (client: PoolClient, resolve: (text: string) => str
|
|
|
9
9
|
/**
|
|
10
10
|
* Migration ledger, one table per Postgres schema.
|
|
11
11
|
*
|
|
12
|
-
* It lives inside the resource's own schema, so
|
|
13
|
-
*
|
|
12
|
+
* It lives inside the resource's own schema, so every schema carries the ledger for the
|
|
13
|
+
* tables it holds — correct, because those tables are what the migrations changed.
|
|
14
14
|
*/
|
|
15
15
|
export declare const makeMigrationStore: (client: PoolClient, spec: TableSpec, table: string, resolve: (text: string) => string, ref: (alias?: string) => string) => MigrationStore<PostgresTx>;
|
|
16
16
|
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -38,8 +38,8 @@ export const makeTx = (client, resolve, ref) => ({
|
|
|
38
38
|
/**
|
|
39
39
|
* Migration ledger, one table per Postgres schema.
|
|
40
40
|
*
|
|
41
|
-
* It lives inside the resource's own schema, so
|
|
42
|
-
*
|
|
41
|
+
* It lives inside the resource's own schema, so every schema carries the ledger for the
|
|
42
|
+
* tables it holds — correct, because those tables are what the migrations changed.
|
|
43
43
|
*/
|
|
44
44
|
export const makeMigrationStore = (client, spec, table, resolve, ref) => {
|
|
45
45
|
const ledger = qualify(spec.schema, table);
|
package/build/utils/name.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ import type { PostgresResource } from '../types.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Coerce an arbitrary name into a legal Postgres identifier of at most 63 bytes.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Postgres cuts anything past `NAMEDATALEN - 1` off server side and says nothing about
|
|
7
|
+
* it, so two names that differ only beyond byte 63 would collapse into one identifier.
|
|
8
|
+
* Clamping here instead leaves room for a hash suffix that keeps them apart.
|
|
9
9
|
*/
|
|
10
10
|
export declare const pgIdentifier: (name: string) => string;
|
|
11
11
|
/**
|
package/build/utils/name.js
CHANGED
|
@@ -5,9 +5,9 @@ const SAFE_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_$]*$/;
|
|
|
5
5
|
/**
|
|
6
6
|
* Coerce an arbitrary name into a legal Postgres identifier of at most 63 bytes.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* Postgres cuts anything past `NAMEDATALEN - 1` off server side and says nothing about
|
|
9
|
+
* it, so two names that differ only beyond byte 63 would collapse into one identifier.
|
|
10
|
+
* Clamping here instead leaves room for a hash suffix that keeps them apart.
|
|
11
11
|
*/
|
|
12
12
|
export const pgIdentifier = (name) => {
|
|
13
13
|
const sanitized = name.replace(/[^A-Za-z0-9_$]/g, '_');
|
package/build/utils/sql.d.ts
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import type { BasicContext } from '@owlmeans/context';
|
|
2
2
|
import type { TableSpec } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The context a placeholder resolves through.
|
|
5
|
+
*
|
|
6
|
+
* Resolution reads exactly one thing — `context.resource(alias).table` — so the config a context
|
|
7
|
+
* carries is irrelevant here, and pinning one would force every caller holding a server context
|
|
8
|
+
* to cast its way in. Deliberately open, and named so callers pass what they already have.
|
|
9
|
+
*/
|
|
10
|
+
export type PlaceholderContext = BasicContext<any>;
|
|
3
11
|
/**
|
|
4
12
|
* Fully qualified table of a registered postgres resource; omit the alias for `self`.
|
|
5
13
|
* This is what `PostgresTx.ref` and `PostgresResource.ref` resolve through.
|
|
6
14
|
*
|
|
7
15
|
* @throws {PostgresPlaceholderError}
|
|
8
16
|
*/
|
|
9
|
-
export declare const refOf: (context:
|
|
17
|
+
export declare const refOf: (context: PlaceholderContext, self: TableSpec | null, alias?: string) => string;
|
|
10
18
|
/**
|
|
11
19
|
* Rewrite `{{...}}` placeholders into quoted identifiers.
|
|
12
20
|
*
|
|
@@ -16,7 +24,7 @@ export declare const refOf: (context: BasicContext<any>, self: TableSpec | null,
|
|
|
16
24
|
*
|
|
17
25
|
* @throws {PostgresPlaceholderError}
|
|
18
26
|
*/
|
|
19
|
-
export declare const resolvePlaceholders: (text: string, context:
|
|
27
|
+
export declare const resolvePlaceholders: (text: string, context: PlaceholderContext, self: TableSpec | null) => string;
|
|
20
28
|
/** Testing seam — a rebuilt context is a fresh key, but a reused one keeps its entries. */
|
|
21
29
|
export declare const resetPlaceholderCache: () => void;
|
|
22
30
|
//# sourceMappingURL=sql.d.ts.map
|
package/build/utils/sql.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/utils/sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIrD,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/utils/sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIrD,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,aAAa,CAAA;AAe9D;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;AAkDlD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,YACP,kBAAkB,QAAQ,SAAS,GAAG,IAAI,UAAU,MAAM,KAClE,MAAsD,CAAA;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,SACxB,MAAM,WAAW,kBAAkB,QAAQ,SAAS,GAAG,IAAI,KAChE,MAqCF,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,QAAO,IAAkC,CAAA"}
|
package/build/utils/sql.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/utils/sql.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC;;;;;;;;;GASG;AACH,MAAM,WAAW,GAAG,+DAA+D,CAAA;
|
|
1
|
+
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/utils/sql.ts"],"names":[],"mappings":"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"}
|
package/build/utils/table.d.ts
CHANGED
|
@@ -3,6 +3,10 @@ import type { PgRuntimeTable, TableSpec } from '../types.js';
|
|
|
3
3
|
* Build the Drizzle table used for CRUD query construction. Structure DDL is emitted from
|
|
4
4
|
* the {@link TableSpec} directly — Drizzle exposes no runtime DDL generator (that lives in
|
|
5
5
|
* drizzle-kit, which would be a second owner of the same tables).
|
|
6
|
+
*
|
|
7
|
+
* The result is stated as a {@link PgRuntimeTable}: the columns exist, keyed by schema
|
|
8
|
+
* property name, but only this function knows which ones — Drizzle's own inference has a
|
|
9
|
+
* literal column map to work from, and here that map was assembled a few lines ago.
|
|
6
10
|
*/
|
|
7
11
|
export declare const specToTable: (spec: TableSpec) => PgRuntimeTable;
|
|
8
12
|
//# sourceMappingURL=table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/utils/table.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAkB5D
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/utils/table.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAkB5D;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,SAAU,SAAS,KAAG,cAgD7C,CAAA"}
|
package/build/utils/table.js
CHANGED
|
@@ -20,6 +20,10 @@ const pgRaw = customType({
|
|
|
20
20
|
* Build the Drizzle table used for CRUD query construction. Structure DDL is emitted from
|
|
21
21
|
* the {@link TableSpec} directly — Drizzle exposes no runtime DDL generator (that lives in
|
|
22
22
|
* drizzle-kit, which would be a second owner of the same tables).
|
|
23
|
+
*
|
|
24
|
+
* The result is stated as a {@link PgRuntimeTable}: the columns exist, keyed by schema
|
|
25
|
+
* property name, but only this function knows which ones — Drizzle's own inference has a
|
|
26
|
+
* literal column map to work from, and here that map was assembled a few lines ago.
|
|
23
27
|
*/
|
|
24
28
|
export const specToTable = (spec) => {
|
|
25
29
|
const namespace = pgSchema(spec.schema);
|
package/build/utils/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/utils/table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAE1F,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAG5C;;;;;;;;;;;GAWG;AACH,MAAM,KAAK,GAAG,UAAU,CAAsE;IAC5F,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM;CAC9C,CAAC,CAAA;AAEF
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/utils/table.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/postgres-resource",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.30",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -27,17 +27,17 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@noble/hashes": "^1.5.0",
|
|
30
|
-
"@owlmeans/basic-ids": "^0.1.18-rc.
|
|
31
|
-
"@owlmeans/context": "^0.1.18-rc.
|
|
32
|
-
"@owlmeans/resource": "^0.1.18-rc.
|
|
33
|
-
"@owlmeans/server-context": "^0.1.18-rc.
|
|
30
|
+
"@owlmeans/basic-ids": "^0.1.18-rc.29",
|
|
31
|
+
"@owlmeans/context": "^0.1.18-rc.28",
|
|
32
|
+
"@owlmeans/resource": "^0.1.18-rc.30",
|
|
33
|
+
"@owlmeans/server-context": "^0.1.18-rc.31",
|
|
34
34
|
"@scure/base": "^2.3.0",
|
|
35
35
|
"drizzle-orm": "~0.45.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@owlmeans/dep-config": "workspace:*",
|
|
39
|
-
"@owlmeans/test-integration": "^0.1.18-rc.
|
|
40
|
-
"@types/bun": "^1.
|
|
39
|
+
"@owlmeans/test-integration": "^0.1.18-rc.25",
|
|
40
|
+
"@types/bun": "^1.4.0",
|
|
41
41
|
"@types/node": "^26.1.0",
|
|
42
42
|
"@types/pg": "^8.20.4",
|
|
43
43
|
"nodemon": "^3.1.14",
|
package/src/consts.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
|
|
2
2
|
export const DEFAULT_DB_ALIAS = 'postgres'
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Rows `list()` returns when the caller names no `size`.
|
|
6
|
+
*
|
|
7
|
+
* A relational table is unbounded, so an unpaged read is a production incident waiting for
|
|
8
|
+
* the row count to grow. Asking for everything stays possible — and greppable — as
|
|
9
|
+
* `list(where, { size: 0 })`.
|
|
10
|
+
*/
|
|
11
|
+
export const DEFAULT_PAGE_SIZE = 100
|
|
5
12
|
|
|
6
13
|
/**
|
|
7
14
|
* Table that records which code-registered migrations have already been applied.
|
package/src/declarations.ts
CHANGED
|
@@ -13,11 +13,11 @@ export interface PostgresDeclaration {
|
|
|
13
13
|
/**
|
|
14
14
|
* Per-alias declaration store, held at module scope rather than on the resource object.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
* by
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
16
|
+
* A maker may run more than once for the same alias — a custom maker wrapping the built-in
|
|
17
|
+
* one, a maker called again by an app or a spec. Keying the declarations by alias makes that
|
|
18
|
+
* a no-op: every run reads and extends the same schema, indexes and migrations, so nothing a
|
|
19
|
+
* caller chained onto an earlier resource object is lost. Losing a migration is silent — the
|
|
20
|
+
* data transformation simply never runs — which is why the store cannot live on the object.
|
|
21
21
|
*/
|
|
22
22
|
const declarations: Map<string, PostgresDeclaration> = new Map()
|
|
23
23
|
|