linkgress-orm 0.4.27 → 0.4.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/dist/entity/db-context.d.ts +23 -0
- package/dist/entity/db-context.d.ts.map +1 -1
- package/dist/entity/db-context.js +31 -0
- package/dist/entity/db-context.js.map +1 -1
- package/dist/entity/entity-base.d.ts +47 -0
- package/dist/entity/entity-base.d.ts.map +1 -1
- package/dist/entity/entity-base.js +39 -0
- package/dist/entity/entity-base.js.map +1 -1
- package/dist/entity/entity-builder.d.ts +5 -0
- package/dist/entity/entity-builder.d.ts.map +1 -1
- package/dist/entity/entity-builder.js +35 -1
- package/dist/entity/entity-builder.js.map +1 -1
- package/dist/entity/model-config.d.ts +18 -0
- package/dist/entity/model-config.d.ts.map +1 -1
- package/dist/entity/model-config.js +25 -0
- package/dist/entity/model-config.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/migration/db-schema-manager.d.ts +48 -0
- package/dist/migration/db-schema-manager.d.ts.map +1 -1
- package/dist/migration/db-schema-manager.js +102 -0
- package/dist/migration/db-schema-manager.js.map +1 -1
- package/dist/migration/migration-runner.d.ts.map +1 -1
- package/dist/migration/migration-runner.js +4 -0
- package/dist/migration/migration-runner.js.map +1 -1
- package/dist/query/conditions.d.ts +33 -0
- package/dist/query/conditions.d.ts.map +1 -1
- package/dist/query/conditions.js +62 -0
- package/dist/query/conditions.js.map +1 -1
- package/dist/schema/column-builder.d.ts +12 -0
- package/dist/schema/column-builder.d.ts.map +1 -1
- package/dist/schema/column-builder.js +9 -0
- package/dist/schema/column-builder.js.map +1 -1
- package/dist/schema/table-builder.d.ts +6 -0
- package/dist/schema/table-builder.d.ts.map +1 -1
- package/dist/schema/table-builder.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../../src/entity/entity-builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../../src/entity/entity-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -392,11 +392,13 @@ class EntityConfigBuilder {
|
|
|
392
392
|
const columnNames = [];
|
|
393
393
|
const expressions = [];
|
|
394
394
|
let hasAnyExpression = false;
|
|
395
|
+
let requiresSearchNormalize = false;
|
|
396
|
+
let wantsGin = false;
|
|
395
397
|
if (selector) {
|
|
396
398
|
// Create a temporary entity to extract column names
|
|
397
399
|
const tempEntity = {};
|
|
398
400
|
// Build a proxy that returns IndexColumnRef objects for each property access.
|
|
399
|
-
// These can be used directly (plain columns) or wrapped with ixLower/ixUnaccent.
|
|
401
|
+
// These can be used directly (plain columns) or wrapped with ixLower/ixUnaccent/ixNormalized.
|
|
400
402
|
const proxy = new Proxy(tempEntity, {
|
|
401
403
|
get: (target, prop) => {
|
|
402
404
|
if (typeof prop === 'string') {
|
|
@@ -421,6 +423,15 @@ class EntityConfigBuilder {
|
|
|
421
423
|
else {
|
|
422
424
|
expressions.push(`"${ref.columnName}"`);
|
|
423
425
|
}
|
|
426
|
+
if (ref.__requiresSearchNormalize) {
|
|
427
|
+
requiresSearchNormalize = true;
|
|
428
|
+
// Leave a transferable flag on the column so normalized query
|
|
429
|
+
// helpers know an accent/case-insensitive index is available.
|
|
430
|
+
this.markColumnNormalized(metadata, ref.columnName);
|
|
431
|
+
}
|
|
432
|
+
if (ref.__gin) {
|
|
433
|
+
wantsGin = true;
|
|
434
|
+
}
|
|
424
435
|
}
|
|
425
436
|
}
|
|
426
437
|
}
|
|
@@ -432,9 +443,32 @@ class EntityConfigBuilder {
|
|
|
432
443
|
if (hasAnyExpression) {
|
|
433
444
|
indexMetadata.expressions = expressions;
|
|
434
445
|
}
|
|
446
|
+
if (requiresSearchNormalize) {
|
|
447
|
+
indexMetadata.requiresSearchNormalize = true;
|
|
448
|
+
}
|
|
449
|
+
// `ixNormalized(col, { gin: true })` opts into a trigram GIN index. Set
|
|
450
|
+
// sensible defaults here; explicit `.using()` / `.withOperatorClass()` calls
|
|
451
|
+
// on the returned builder still override them.
|
|
452
|
+
if (wantsGin) {
|
|
453
|
+
indexMetadata.using = 'gin';
|
|
454
|
+
indexMetadata.operatorClass = 'gin_trgm_ops';
|
|
455
|
+
}
|
|
435
456
|
metadata.indexes.push(indexMetadata);
|
|
436
457
|
return new IndexBuilder(this.entityClass, indexMetadata);
|
|
437
458
|
}
|
|
459
|
+
/**
|
|
460
|
+
* Mark a column (by DB column name) as participating in an ixNormalized index.
|
|
461
|
+
* Sets the flag on both the property metadata and the column config.
|
|
462
|
+
*/
|
|
463
|
+
markColumnNormalized(metadata, columnName) {
|
|
464
|
+
for (const propMeta of metadata.properties.values()) {
|
|
465
|
+
if (propMeta.columnName === columnName) {
|
|
466
|
+
propMeta.hasNormalizedIndex = true;
|
|
467
|
+
propMeta.columnBuilder.markNormalizedIndex?.();
|
|
468
|
+
break;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
}
|
|
438
472
|
/**
|
|
439
473
|
* Extract property name from selector
|
|
440
474
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-builder.js","sourceRoot":"","sources":["../../src/entity/entity-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entity-builder.js","sourceRoot":"","sources":["../../src/entity/entity-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,28 @@ import { TableBuilder } from '../schema/table-builder';
|
|
|
5
5
|
* Model builder for configuring entities
|
|
6
6
|
*/
|
|
7
7
|
export declare class DbModelConfig {
|
|
8
|
+
private _searchNormalizeRequired;
|
|
8
9
|
/**
|
|
9
10
|
* Configure an entity
|
|
10
11
|
*/
|
|
11
12
|
entity<TEntity extends DbEntity>(entityClass: EntityConstructor<TEntity>, configure: (builder: EntityConfigBuilder<TEntity>) => void): void;
|
|
13
|
+
/**
|
|
14
|
+
* Opt into the `search_normalize` support objects (the `unaccent` extension
|
|
15
|
+
* and the `public.search_normalize(text)` function) even when no
|
|
16
|
+
* `ixNormalized` index is declared.
|
|
17
|
+
*
|
|
18
|
+
* Call this in `setupModel` when you use the normalized query helpers
|
|
19
|
+
* (`normalizedEq` / `normalizedLike` / `normalizedStartsWith` / `searchNormalize`)
|
|
20
|
+
* without a dedicated index, so the function exists in the database. When an
|
|
21
|
+
* `ixNormalized` index exists, the support objects are created automatically
|
|
22
|
+
* and this call is not required.
|
|
23
|
+
*/
|
|
24
|
+
useSearchNormalize(): this;
|
|
25
|
+
/**
|
|
26
|
+
* Whether `useSearchNormalize()` was called.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
isSearchNormalizeRequired(): boolean;
|
|
12
30
|
/**
|
|
13
31
|
* Build all table definitions from entity metadata
|
|
14
32
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-config.d.ts","sourceRoot":"","sources":["../../src/entity/model-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAuB,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAwB,MAAM,yBAAyB,CAAC;AAG7E;;GAEG;AACH,qBAAa,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,OAAO,SAAS,QAAQ,EAC7B,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,EACvC,SAAS,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,IAAI,GACzD,IAAI;IAKP;;;OAGG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;CA8K9C"}
|
|
1
|
+
{"version":3,"file":"model-config.d.ts","sourceRoot":"","sources":["../../src/entity/model-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAuB,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAwB,MAAM,yBAAyB,CAAC;AAG7E;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,wBAAwB,CAAS;IAEzC;;OAEG;IACH,MAAM,CAAC,OAAO,SAAS,QAAQ,EAC7B,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,EACvC,SAAS,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,IAAI,GACzD,IAAI;IAKP;;;;;;;;;;OAUG;IACH,kBAAkB,IAAI,IAAI;IAK1B;;;OAGG;IACH,yBAAyB,IAAI,OAAO;IAIpC;;;OAGG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;CA8K9C"}
|
|
@@ -9,6 +9,9 @@ const navigation_1 = require("../schema/navigation");
|
|
|
9
9
|
* Model builder for configuring entities
|
|
10
10
|
*/
|
|
11
11
|
class DbModelConfig {
|
|
12
|
+
constructor() {
|
|
13
|
+
this._searchNormalizeRequired = false;
|
|
14
|
+
}
|
|
12
15
|
/**
|
|
13
16
|
* Configure an entity
|
|
14
17
|
*/
|
|
@@ -16,6 +19,28 @@ class DbModelConfig {
|
|
|
16
19
|
const builder = new entity_builder_1.EntityConfigBuilder(entityClass);
|
|
17
20
|
configure(builder);
|
|
18
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Opt into the `search_normalize` support objects (the `unaccent` extension
|
|
24
|
+
* and the `public.search_normalize(text)` function) even when no
|
|
25
|
+
* `ixNormalized` index is declared.
|
|
26
|
+
*
|
|
27
|
+
* Call this in `setupModel` when you use the normalized query helpers
|
|
28
|
+
* (`normalizedEq` / `normalizedLike` / `normalizedStartsWith` / `searchNormalize`)
|
|
29
|
+
* without a dedicated index, so the function exists in the database. When an
|
|
30
|
+
* `ixNormalized` index exists, the support objects are created automatically
|
|
31
|
+
* and this call is not required.
|
|
32
|
+
*/
|
|
33
|
+
useSearchNormalize() {
|
|
34
|
+
this._searchNormalizeRequired = true;
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Whether `useSearchNormalize()` was called.
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
isSearchNormalizeRequired() {
|
|
42
|
+
return this._searchNormalizeRequired;
|
|
43
|
+
}
|
|
19
44
|
/**
|
|
20
45
|
* Build all table definitions from entity metadata
|
|
21
46
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-config.js","sourceRoot":"","sources":["../../src/entity/model-config.ts"],"names":[],"mappings":";;;AAAA,+CAAiF;AACjF,qDAAuD;AACvD,2DAA6E;AAC7E,qDAA4E;AAE5E;;GAEG;AACH,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"model-config.js","sourceRoot":"","sources":["../../src/entity/model-config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,13 +7,13 @@ export { FutureQuery, FutureSingleQuery, FutureCountQuery, FutureQueryRunner, An
|
|
|
7
7
|
export { PreparedQuery, } from './query/prepared-query';
|
|
8
8
|
export { GroupedQueryBuilder, GroupedSelectQueryBuilder, GroupedJoinedQueryBuilder, GroupedItem, } from './query/grouped-query';
|
|
9
9
|
export { JoinQueryBuilder, JoinType, JoinDefinition, } from './query/join-builder';
|
|
10
|
-
export { Condition, ConditionOperator, ConditionBuilder, SqlFragment, RawSql, FieldRef, Placeholder, eq, ne, gt, gte, lt, lte, like, ilike, startsWith, regexMatches, regexMatchesCaseInsensitive, regexNoMatch, regexNoMatchCaseInsensitive, inArray, notInArray, isNull, isNotNull, between, and, or, not, sql, coalesce, jsonbMerge, jsonbSelect, jsonbSelectText, jsonbArraySome, jsonbConditionUnwrap, JsonbElement, flagHas, flagHasAll, flagHasAny, flagHasNone, } from './query/conditions';
|
|
10
|
+
export { Condition, ConditionOperator, ConditionBuilder, SqlFragment, RawSql, FieldRef, Placeholder, eq, ne, gt, gte, lt, lte, like, ilike, startsWith, searchNormalize, containsSearch, startsWithSearch, endsWithSearch, normalizedEq, normalizedLike, normalizedStartsWith, regexMatches, regexMatchesCaseInsensitive, regexNoMatch, regexNoMatchCaseInsensitive, inArray, notInArray, isNull, isNotNull, between, and, or, not, sql, coalesce, jsonbMerge, jsonbSelect, jsonbSelectText, jsonbArraySome, jsonbConditionUnwrap, JsonbElement, flagHas, flagHasAll, flagHasAny, flagHasNone, } from './query/conditions';
|
|
11
11
|
export { Subquery, SubqueryFieldRef, isSubquery, exists, notExists, inSubquery, notInSubquery, eqSubquery, neSubquery, gtSubquery, gteSubquery, ltSubquery, lteSubquery, SubqueryResult, SubqueryMode, CollectionSubquerySource, } from './query/subquery';
|
|
12
12
|
export { DbCte, DbCteBuilder, InferCteColumns, isCte, } from './query/cte-builder';
|
|
13
13
|
export { QueryOptions, LogLevel, LoggingOptions, CollectionStrategyType, TimeTracer, TimeTraceEntry, QueryTimeTrace, } from './entity/db-context';
|
|
14
14
|
export { ICollectionStrategy, CollectionStrategyType as CollectionStrategy, CollectionAggregationConfig, CollectionAggregationResult, } from './query/collection-strategy.interface';
|
|
15
15
|
export { CollectionStrategyFactory, } from './query/collection-strategy.factory';
|
|
16
|
-
export { DbEntity, EntityConstructor, EntityMetadataStore, IndexMethod, ixLower, ixUnaccent, } from './entity/entity-base';
|
|
16
|
+
export { DbEntity, EntityConstructor, EntityMetadataStore, IndexMethod, ixLower, ixUnaccent, ixNormalized, } from './entity/entity-base';
|
|
17
17
|
export { DbColumn, UnwrapDbColumns, isDbColumn, InsertData, UpdateData, ExtractDbColumns, ExtractDbColumnKeys, } from './entity/db-column';
|
|
18
18
|
export { EntityConfigBuilder, EntityPropertyBuilder, EntityNavigationBuilder, HasManyNavigationBuilder, HasOneNavigationBuilder, } from './entity/entity-builder';
|
|
19
19
|
export { DbModelConfig, } from './entity/model-config';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,IAAI,EACJ,eAAe,EACf,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,SAAS,EACT,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,UAAU,EACV,aAAa,EACb,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,aAAa,GACd,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,QAAQ,EACR,WAAW,EACX,EAAE,EACF,EAAE,EACF,EAAE,EACF,GAAG,EACH,EAAE,EACF,GAAG,EACH,IAAI,EACJ,KAAK,EACL,UAAU,EACV,YAAY,EACZ,2BAA2B,EAC3B,YAAY,EACZ,2BAA2B,EAC3B,OAAO,EACP,UAAU,EACV,MAAM,EACN,SAAS,EACT,OAAO,EACP,GAAG,EACH,EAAE,EACF,GAAG,EACH,GAAG,EACH,QAAQ,EACR,UAAU,EACV,WAAW,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,OAAO,EACP,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,SAAS,EACT,UAAU,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,KAAK,EACL,YAAY,EACZ,eAAe,EACf,KAAK,GACN,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,IAAI,kBAAkB,EAC5C,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC;AAI7C,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ne = exports.eq = exports.Placeholder = exports.RawSql = exports.SqlFragment = exports.ConditionBuilder = exports.JoinQueryBuilder = exports.GroupedJoinedQueryBuilder = exports.GroupedSelectQueryBuilder = exports.GroupedQueryBuilder = exports.PreparedQuery = exports.isFutureCountQuery = exports.isFutureSingleQuery = exports.isFutureQuery = exports.FutureQueryRunner = exports.FutureCountQuery = exports.FutureSingleQuery = exports.FutureQuery = exports.isUnionQueryBuilder = exports.UnionQueryBuilder = exports.CollectionQueryBuilder = exports.SelectQueryBuilder = exports.QueryBuilder = exports.CollationRegistry = exports.pgCollation = exports.EnumTypeRegistry = exports.pgEnum = exports.ColumnBuilder = exports.enumColumn = exports.bytea = exports.jsonb = exports.json = exports.uuid = exports.time = exports.date = exports.timestamptz = exports.timestamp = exports.boolean = exports.text = exports.char = exports.varchar = exports.doublePrecision = exports.real = exports.numeric = exports.decimal = exports.smallint = exports.bigserial = exports.bigint = exports.serial = exports.integer = void 0;
|
|
4
|
-
exports.
|
|
5
|
-
exports.BunClient = exports.PgClient = exports.PostgresClient = exports.DatabaseClient = exports.MigrationScaffold = exports.MigrationLoader = exports.MigrationJournal = exports.MigrationRunner = exports.EnumMigrator = exports.DbSchemaManager = exports.sequence = exports.SequenceBuilder = exports.DbSequence = exports.applyFromDriverArray = exports.applyFromDriver = exports.applyToDriver = exports.identityMapper = exports.createCustomType = exports.interval = exports.vector = exports.point = exports.enumType = exports.array = exports.jsonType = exports.customType = exports.CustomTypeBuilder = exports.TypeAliases = exports.EntityInsertBuilder = exports.DbEntityTable = exports.DbContext = exports.DbModelConfig = exports.HasOneNavigationBuilder = exports.HasManyNavigationBuilder = exports.EntityNavigationBuilder = exports.EntityPropertyBuilder = exports.EntityConfigBuilder = exports.isDbColumn = exports.DbColumn = exports.ixUnaccent = void 0;
|
|
4
|
+
exports.DbCte = exports.lteSubquery = exports.ltSubquery = exports.gteSubquery = exports.gtSubquery = exports.neSubquery = exports.eqSubquery = exports.notInSubquery = exports.inSubquery = exports.notExists = exports.exists = exports.isSubquery = exports.Subquery = exports.flagHasNone = exports.flagHasAny = exports.flagHasAll = exports.flagHas = exports.jsonbConditionUnwrap = exports.jsonbArraySome = exports.jsonbSelectText = exports.jsonbSelect = exports.jsonbMerge = exports.coalesce = exports.sql = exports.not = exports.or = exports.and = exports.between = exports.isNotNull = exports.isNull = exports.notInArray = exports.inArray = exports.regexNoMatchCaseInsensitive = exports.regexNoMatch = exports.regexMatchesCaseInsensitive = exports.regexMatches = exports.normalizedStartsWith = exports.normalizedLike = exports.normalizedEq = exports.endsWithSearch = exports.startsWithSearch = exports.containsSearch = exports.searchNormalize = exports.startsWith = exports.ilike = exports.like = exports.lte = exports.lt = exports.gte = exports.gt = void 0;
|
|
5
|
+
exports.BunClient = exports.PgClient = exports.PostgresClient = exports.DatabaseClient = exports.MigrationScaffold = exports.MigrationLoader = exports.MigrationJournal = exports.MigrationRunner = exports.EnumMigrator = exports.DbSchemaManager = exports.sequence = exports.SequenceBuilder = exports.DbSequence = exports.applyFromDriverArray = exports.applyFromDriver = exports.applyToDriver = exports.identityMapper = exports.createCustomType = exports.interval = exports.vector = exports.point = exports.enumType = exports.array = exports.jsonType = exports.customType = exports.CustomTypeBuilder = exports.TypeAliases = exports.EntityInsertBuilder = exports.DbEntityTable = exports.DbContext = exports.DbModelConfig = exports.HasOneNavigationBuilder = exports.HasManyNavigationBuilder = exports.EntityNavigationBuilder = exports.EntityPropertyBuilder = exports.EntityConfigBuilder = exports.isDbColumn = exports.DbColumn = exports.ixNormalized = exports.ixUnaccent = exports.ixLower = exports.EntityMetadataStore = exports.DbEntity = exports.CollectionStrategyFactory = exports.TimeTracer = exports.isCte = exports.DbCteBuilder = void 0;
|
|
6
6
|
// Internal schema builders (exported for DbContext use only)
|
|
7
7
|
var column_builder_1 = require("./schema/column-builder");
|
|
8
8
|
Object.defineProperty(exports, "integer", { enumerable: true, get: function () { return column_builder_1.integer; } });
|
|
@@ -78,6 +78,13 @@ Object.defineProperty(exports, "lte", { enumerable: true, get: function () { ret
|
|
|
78
78
|
Object.defineProperty(exports, "like", { enumerable: true, get: function () { return conditions_1.like; } });
|
|
79
79
|
Object.defineProperty(exports, "ilike", { enumerable: true, get: function () { return conditions_1.ilike; } });
|
|
80
80
|
Object.defineProperty(exports, "startsWith", { enumerable: true, get: function () { return conditions_1.startsWith; } });
|
|
81
|
+
Object.defineProperty(exports, "searchNormalize", { enumerable: true, get: function () { return conditions_1.searchNormalize; } });
|
|
82
|
+
Object.defineProperty(exports, "containsSearch", { enumerable: true, get: function () { return conditions_1.containsSearch; } });
|
|
83
|
+
Object.defineProperty(exports, "startsWithSearch", { enumerable: true, get: function () { return conditions_1.startsWithSearch; } });
|
|
84
|
+
Object.defineProperty(exports, "endsWithSearch", { enumerable: true, get: function () { return conditions_1.endsWithSearch; } });
|
|
85
|
+
Object.defineProperty(exports, "normalizedEq", { enumerable: true, get: function () { return conditions_1.normalizedEq; } });
|
|
86
|
+
Object.defineProperty(exports, "normalizedLike", { enumerable: true, get: function () { return conditions_1.normalizedLike; } });
|
|
87
|
+
Object.defineProperty(exports, "normalizedStartsWith", { enumerable: true, get: function () { return conditions_1.normalizedStartsWith; } });
|
|
81
88
|
Object.defineProperty(exports, "regexMatches", { enumerable: true, get: function () { return conditions_1.regexMatches; } });
|
|
82
89
|
Object.defineProperty(exports, "regexMatchesCaseInsensitive", { enumerable: true, get: function () { return conditions_1.regexMatchesCaseInsensitive; } });
|
|
83
90
|
Object.defineProperty(exports, "regexNoMatch", { enumerable: true, get: function () { return conditions_1.regexNoMatch; } });
|
|
@@ -131,6 +138,7 @@ Object.defineProperty(exports, "DbEntity", { enumerable: true, get: function ()
|
|
|
131
138
|
Object.defineProperty(exports, "EntityMetadataStore", { enumerable: true, get: function () { return entity_base_1.EntityMetadataStore; } });
|
|
132
139
|
Object.defineProperty(exports, "ixLower", { enumerable: true, get: function () { return entity_base_1.ixLower; } });
|
|
133
140
|
Object.defineProperty(exports, "ixUnaccent", { enumerable: true, get: function () { return entity_base_1.ixUnaccent; } });
|
|
141
|
+
Object.defineProperty(exports, "ixNormalized", { enumerable: true, get: function () { return entity_base_1.ixNormalized; } });
|
|
134
142
|
var db_column_1 = require("./entity/db-column");
|
|
135
143
|
Object.defineProperty(exports, "DbColumn", { enumerable: true, get: function () { return db_column_1.DbColumn; } });
|
|
136
144
|
Object.defineProperty(exports, "isDbColumn", { enumerable: true, get: function () { return db_column_1.isDbColumn; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,6DAA6D;AAC7D,0DAyBiC;AAxB/B,yGAAA,OAAO,OAAA;AACP,wGAAA,MAAM,OAAA;AACN,wGAAA,MAAM,OAAA;AACN,2GAAA,SAAS,OAAA;AACT,0GAAA,QAAQ,OAAA;AACR,yGAAA,OAAO,OAAA;AACP,yGAAA,OAAO,OAAA;AACP,sGAAA,IAAI,OAAA;AACJ,iHAAA,eAAe,OAAA;AACf,yGAAA,OAAO,OAAA;AACP,sGAAA,IAAI,OAAA;AACJ,sGAAA,IAAI,OAAA;AACJ,yGAAA,OAAO,OAAA;AACP,2GAAA,SAAS,OAAA;AACT,6GAAA,WAAW,OAAA;AACX,sGAAA,IAAI,OAAA;AACJ,sGAAA,IAAI,OAAA;AACJ,sGAAA,IAAI,OAAA;AACJ,sGAAA,IAAI,OAAA;AACJ,uGAAA,KAAK,OAAA;AACL,uGAAA,KAAK,OAAA;AACL,4GAAA,UAAU,OAAA;AACV,+GAAA,aAAa,OAAA;AAIf,aAAa;AACb,qDAK8B;AAJ5B,sGAAA,MAAM,OAAA;AAEN,gHAAA,gBAAgB,OAAA;AAIlB,kBAAkB;AAClB,+DAImC;AAHjC,gHAAA,WAAW,OAAA;AAEX,sHAAA,iBAAiB,OAAA;AAGnB,iBAAiB;AACjB,uDAI+B;AAH7B,6GAAA,YAAY,OAAA;AACZ,mHAAA,kBAAkB,OAAA;AAClB,uHAAA,sBAAsB,OAAA;AAGxB,sBAAsB;AACtB,uDAI+B;AAH7B,kHAAA,iBAAiB,OAAA;AAEjB,oHAAA,mBAAmB,OAAA;AAGrB,qCAAqC;AACrC,qDAW8B;AAV5B,2GAAA,WAAW,OAAA;AACX,iHAAA,iBAAiB,OAAA;AACjB,gHAAA,gBAAgB,OAAA;AAChB,iHAAA,iBAAiB,OAAA;AAIjB,6GAAA,aAAa,OAAA;AACb,mHAAA,mBAAmB,OAAA;AACnB,kHAAA,kBAAkB,OAAA;AAGpB,sBAAsB;AACtB,yDAEgC;AAD9B,+GAAA,aAAa,OAAA;AAGf,uDAK+B;AAJ7B,oHAAA,mBAAmB,OAAA;AACnB,0HAAA,yBAAyB,OAAA;AACzB,0HAAA,yBAAyB,OAAA;AAI3B,qDAI8B;AAH5B,gHAAA,gBAAgB,OAAA;AAKlB,aAAa;AACb,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,15 +95,25 @@ export declare class DbSchemaManager {
|
|
|
95
95
|
private schemaRegistry;
|
|
96
96
|
private logQueries;
|
|
97
97
|
private logger;
|
|
98
|
+
private preMigrationHook?;
|
|
98
99
|
private postMigrationHook?;
|
|
99
100
|
private sequenceRegistry;
|
|
100
101
|
private concurrentIndexes;
|
|
102
|
+
private searchNormalizeRequired;
|
|
101
103
|
private rl;
|
|
102
104
|
constructor(client: DatabaseClient, schemaRegistry: Map<string, TableSchema>, options?: {
|
|
103
105
|
logQueries?: boolean;
|
|
104
106
|
logger?: (message: string, level?: LogLevel) => void;
|
|
107
|
+
preMigrationHook?: (client: DatabaseClient) => Promise<void>;
|
|
105
108
|
postMigrationHook?: (client: DatabaseClient) => Promise<void>;
|
|
106
109
|
sequenceRegistry?: Map<string, SequenceConfig>;
|
|
110
|
+
/**
|
|
111
|
+
* When true, the `search_normalize` support objects (the `unaccent`
|
|
112
|
+
* extension and `public.search_normalize(text)` function) are created
|
|
113
|
+
* even if no `ixNormalized` index is present. Set via
|
|
114
|
+
* `model.useSearchNormalize()` for query-only usage.
|
|
115
|
+
*/
|
|
116
|
+
searchNormalizeRequired?: boolean;
|
|
107
117
|
/**
|
|
108
118
|
* When true, every index created by this schema manager uses
|
|
109
119
|
* `CREATE INDEX CONCURRENTLY`, regardless of per-index `.concurrent()`.
|
|
@@ -156,6 +166,44 @@ export declare class DbSchemaManager {
|
|
|
156
166
|
* Tables with no foreign key dependencies come first
|
|
157
167
|
*/
|
|
158
168
|
private sortTablesByDependency;
|
|
169
|
+
/**
|
|
170
|
+
* Execute the pre-migration hook, if one is configured.
|
|
171
|
+
*
|
|
172
|
+
* Runs BEFORE any schema analysis or changes. Exposed publicly so the
|
|
173
|
+
* MigrationRunner can fire it ahead of file-based migrations on an
|
|
174
|
+
* existing database (where `migrate()` is not invoked). Safe to call when
|
|
175
|
+
* no hook is configured — it is a no-op in that case.
|
|
176
|
+
*/
|
|
177
|
+
runPreMigrationHook(): Promise<void>;
|
|
178
|
+
/**
|
|
179
|
+
* SQL body for the `public.search_normalize(text)` function. Uses the 2-arg
|
|
180
|
+
* form of `unaccent` (explicit dictionary) so the function is IMMUTABLE and
|
|
181
|
+
* therefore usable in expression indexes.
|
|
182
|
+
*
|
|
183
|
+
* The dictionary is schema-qualified (`'public.unaccent'`) on purpose:
|
|
184
|
+
* PostgreSQL evaluates functional-index expressions with a restricted
|
|
185
|
+
* `search_path`, so an unqualified `'unaccent'::regdictionary` would fail with
|
|
186
|
+
* "text search dictionary unaccent does not exist" when the index is built.
|
|
187
|
+
*/
|
|
188
|
+
private static readonly SEARCH_NORMALIZE_FUNCTION_SQL;
|
|
189
|
+
/**
|
|
190
|
+
* Whether any registered index uses an `ixNormalized` expression.
|
|
191
|
+
*/
|
|
192
|
+
private hasNormalizedIndex;
|
|
193
|
+
/**
|
|
194
|
+
* Whether any registered `ixNormalized` index is a trigram GIN index, which
|
|
195
|
+
* additionally needs the `pg_trgm` extension.
|
|
196
|
+
*/
|
|
197
|
+
private needsPgTrgmForNormalized;
|
|
198
|
+
/**
|
|
199
|
+
* Create the `search_normalize` support objects (the `unaccent` extension and
|
|
200
|
+
* the `public.search_normalize(text)` function — plus `pg_trgm` when a
|
|
201
|
+
* trigram GIN normalized index is present) when the model needs them.
|
|
202
|
+
*
|
|
203
|
+
* Runs before tables/indexes so that `ixNormalized` expression indexes can be
|
|
204
|
+
* built. Idempotent — safe to run on every migration.
|
|
205
|
+
*/
|
|
206
|
+
ensureSearchNormalizeSupport(): Promise<void>;
|
|
159
207
|
/**
|
|
160
208
|
* Create all tables in the database
|
|
161
209
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-schema-manager.d.ts","sourceRoot":"","sources":["../../src/migration/db-schema-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"db-schema-manager.d.ts","sourceRoot":"","sources":["../../src/migration/db-schema-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,9 +48,11 @@ class DbSchemaManager {
|
|
|
48
48
|
this.rl = null;
|
|
49
49
|
this.logQueries = options?.logQueries ?? false;
|
|
50
50
|
this.logger = options?.logger ?? console.log;
|
|
51
|
+
this.preMigrationHook = options?.preMigrationHook;
|
|
51
52
|
this.postMigrationHook = options?.postMigrationHook;
|
|
52
53
|
this.sequenceRegistry = options?.sequenceRegistry ?? new Map();
|
|
53
54
|
this.concurrentIndexes = options?.concurrentIndexes ?? false;
|
|
55
|
+
this.searchNormalizeRequired = options?.searchNormalizeRequired ?? false;
|
|
54
56
|
}
|
|
55
57
|
/**
|
|
56
58
|
* Get or create readline interface for interactive prompts
|
|
@@ -453,10 +455,80 @@ class DbSchemaManager {
|
|
|
453
455
|
}
|
|
454
456
|
return sorted;
|
|
455
457
|
}
|
|
458
|
+
/**
|
|
459
|
+
* Execute the pre-migration hook, if one is configured.
|
|
460
|
+
*
|
|
461
|
+
* Runs BEFORE any schema analysis or changes. Exposed publicly so the
|
|
462
|
+
* MigrationRunner can fire it ahead of file-based migrations on an
|
|
463
|
+
* existing database (where `migrate()` is not invoked). Safe to call when
|
|
464
|
+
* no hook is configured — it is a no-op in that case.
|
|
465
|
+
*/
|
|
466
|
+
async runPreMigrationHook() {
|
|
467
|
+
if (!this.preMigrationHook)
|
|
468
|
+
return;
|
|
469
|
+
if (this.logQueries) {
|
|
470
|
+
this.logger('Executing pre-migration scripts...\n');
|
|
471
|
+
}
|
|
472
|
+
await this.preMigrationHook(this.client);
|
|
473
|
+
if (this.logQueries) {
|
|
474
|
+
this.logger('✓ Pre-migration scripts completed\n');
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Whether any registered index uses an `ixNormalized` expression.
|
|
479
|
+
*/
|
|
480
|
+
hasNormalizedIndex() {
|
|
481
|
+
for (const tableSchema of this.schemaRegistry.values()) {
|
|
482
|
+
for (const index of tableSchema.indexes || []) {
|
|
483
|
+
if (index.requiresSearchNormalize)
|
|
484
|
+
return true;
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
return false;
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Whether any registered `ixNormalized` index is a trigram GIN index, which
|
|
491
|
+
* additionally needs the `pg_trgm` extension.
|
|
492
|
+
*/
|
|
493
|
+
needsPgTrgmForNormalized() {
|
|
494
|
+
for (const tableSchema of this.schemaRegistry.values()) {
|
|
495
|
+
for (const index of tableSchema.indexes || []) {
|
|
496
|
+
if (index.requiresSearchNormalize && index.using === 'gin')
|
|
497
|
+
return true;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
return false;
|
|
501
|
+
}
|
|
502
|
+
/**
|
|
503
|
+
* Create the `search_normalize` support objects (the `unaccent` extension and
|
|
504
|
+
* the `public.search_normalize(text)` function — plus `pg_trgm` when a
|
|
505
|
+
* trigram GIN normalized index is present) when the model needs them.
|
|
506
|
+
*
|
|
507
|
+
* Runs before tables/indexes so that `ixNormalized` expression indexes can be
|
|
508
|
+
* built. Idempotent — safe to run on every migration.
|
|
509
|
+
*/
|
|
510
|
+
async ensureSearchNormalizeSupport() {
|
|
511
|
+
const needed = this.searchNormalizeRequired || this.hasNormalizedIndex();
|
|
512
|
+
if (!needed)
|
|
513
|
+
return;
|
|
514
|
+
if (this.logQueries) {
|
|
515
|
+
this.logger('Creating search_normalize support (unaccent extension + function)...\n');
|
|
516
|
+
}
|
|
517
|
+
await this.client.query(`CREATE EXTENSION IF NOT EXISTS unaccent`);
|
|
518
|
+
if (this.needsPgTrgmForNormalized()) {
|
|
519
|
+
await this.client.query(`CREATE EXTENSION IF NOT EXISTS pg_trgm`);
|
|
520
|
+
}
|
|
521
|
+
await this.client.query(DbSchemaManager.SEARCH_NORMALIZE_FUNCTION_SQL);
|
|
522
|
+
if (this.logQueries) {
|
|
523
|
+
this.logger('✓ search_normalize support created\n');
|
|
524
|
+
}
|
|
525
|
+
}
|
|
456
526
|
/**
|
|
457
527
|
* Create all tables in the database
|
|
458
528
|
*/
|
|
459
529
|
async ensureCreated() {
|
|
530
|
+
// Run pre-migration hook before any schema work
|
|
531
|
+
await this.runPreMigrationHook();
|
|
460
532
|
if (this.logQueries) {
|
|
461
533
|
this.logger('Creating database schema...\n');
|
|
462
534
|
}
|
|
@@ -468,6 +540,8 @@ class DbSchemaManager {
|
|
|
468
540
|
await this.createEnumTypes();
|
|
469
541
|
// Create sequences
|
|
470
542
|
await this.createSequences();
|
|
543
|
+
// Create search_normalize support before tables/indexes that may use it
|
|
544
|
+
await this.ensureSearchNormalizeSupport();
|
|
471
545
|
// Create tables in dependency order
|
|
472
546
|
const sortedTables = this.sortTablesByDependency();
|
|
473
547
|
for (const [tableName, tableSchema] of sortedTables) {
|
|
@@ -719,6 +793,11 @@ class DbSchemaManager {
|
|
|
719
793
|
*/
|
|
720
794
|
async migrate() {
|
|
721
795
|
try {
|
|
796
|
+
// Run pre-migration hook before any analysis or schema changes
|
|
797
|
+
await this.runPreMigrationHook();
|
|
798
|
+
// Ensure search_normalize support exists before any ixNormalized indexes
|
|
799
|
+
// are (re)built in phase 3. Idempotent, so safe to run every migration.
|
|
800
|
+
await this.ensureSearchNormalizeSupport();
|
|
722
801
|
const operations = await this.analyze();
|
|
723
802
|
if (operations.length === 0) {
|
|
724
803
|
this.logger('✓ Database schema is already in sync with model\n');
|
|
@@ -1094,6 +1173,9 @@ class DbSchemaManager {
|
|
|
1094
1173
|
if (index.operatorClass && !DbSchemaManager.VALID_OPERATOR_CLASS.test(index.operatorClass)) {
|
|
1095
1174
|
throw new Error(`Invalid operator class: "${index.operatorClass}". Must be a valid PostgreSQL identifier.`);
|
|
1096
1175
|
}
|
|
1176
|
+
if (index.isUnique && index.using === 'gin') {
|
|
1177
|
+
throw new Error(`Index "${index.name}" cannot be both UNIQUE and a GIN index. GIN does not support unique constraints — drop .isUnique() or remove the GIN option (e.g. \`ixNormalized(col, { gin: true })\`).`);
|
|
1178
|
+
}
|
|
1097
1179
|
const uniqueStr = index.isUnique ? 'UNIQUE ' : '';
|
|
1098
1180
|
const useConcurrent = index.concurrent || this.concurrentIndexes;
|
|
1099
1181
|
const concurrentStr = useConcurrent ? 'CONCURRENTLY ' : '';
|
|
@@ -1540,6 +1622,26 @@ class DbSchemaManager {
|
|
|
1540
1622
|
}
|
|
1541
1623
|
}
|
|
1542
1624
|
exports.DbSchemaManager = DbSchemaManager;
|
|
1625
|
+
/**
|
|
1626
|
+
* SQL body for the `public.search_normalize(text)` function. Uses the 2-arg
|
|
1627
|
+
* form of `unaccent` (explicit dictionary) so the function is IMMUTABLE and
|
|
1628
|
+
* therefore usable in expression indexes.
|
|
1629
|
+
*
|
|
1630
|
+
* The dictionary is schema-qualified (`'public.unaccent'`) on purpose:
|
|
1631
|
+
* PostgreSQL evaluates functional-index expressions with a restricted
|
|
1632
|
+
* `search_path`, so an unqualified `'unaccent'::regdictionary` would fail with
|
|
1633
|
+
* "text search dictionary unaccent does not exist" when the index is built.
|
|
1634
|
+
*/
|
|
1635
|
+
DbSchemaManager.SEARCH_NORMALIZE_FUNCTION_SQL = `
|
|
1636
|
+
CREATE OR REPLACE FUNCTION public.search_normalize(value text)
|
|
1637
|
+
RETURNS text
|
|
1638
|
+
LANGUAGE sql
|
|
1639
|
+
IMMUTABLE
|
|
1640
|
+
PARALLEL SAFE
|
|
1641
|
+
RETURNS NULL ON NULL INPUT
|
|
1642
|
+
AS $$
|
|
1643
|
+
SELECT lower(public.unaccent('public.unaccent', value))
|
|
1644
|
+
$$`;
|
|
1543
1645
|
/**
|
|
1544
1646
|
* Execute create index
|
|
1545
1647
|
*/
|