linkgress-orm 0.4.42 → 0.4.43
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/entity-base.d.ts +21 -0
- package/dist/entity/entity-base.d.ts.map +1 -1
- package/dist/entity/entity-base.js +1 -0
- package/dist/entity/entity-base.js.map +1 -1
- package/dist/entity/entity-builder.d.ts +54 -1
- package/dist/entity/entity-builder.d.ts.map +1 -1
- package/dist/entity/entity-builder.js +95 -1
- package/dist/entity/entity-builder.js.map +1 -1
- package/dist/entity/model-config.d.ts.map +1 -1
- package/dist/entity/model-config.js +4 -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.map +1 -1
- package/dist/migration/db-schema-manager.d.ts +22 -0
- package/dist/migration/db-schema-manager.d.ts.map +1 -1
- package/dist/migration/db-schema-manager.js +76 -0
- package/dist/migration/db-schema-manager.js.map +1 -1
- package/dist/migration/migration-scaffold.d.ts.map +1 -1
- package/dist/migration/migration-scaffold.js +13 -0
- package/dist/migration/migration-scaffold.js.map +1 -1
- package/dist/migration/statistics-sql.d.ts +52 -0
- package/dist/migration/statistics-sql.d.ts.map +1 -0
- package/dist/migration/statistics-sql.js +40 -0
- package/dist/migration/statistics-sql.js.map +1 -0
- package/dist/schema/table-builder.d.ts +35 -0
- package/dist/schema/table-builder.d.ts.map +1 -1
- package/dist/schema/table-builder.js +11 -0
- package/dist/schema/table-builder.js.map +1 -1
- package/package.json +80 -80
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statistics-sql.js","sourceRoot":"","sources":["../../src/migration/statistics-sql.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AA+BH,wEAQC;AAMD,oEAMC;AA5BD;;;;;;;GAOG;AACH,SAAgB,8BAA8B,CAC5C,IAAuB,EACvB,cAAsB,EACtB,IAAgC;IAEhC,MAAM,cAAc,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,OAAO,qBAAqB,cAAc,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,cAAc,EAAE,CAAC;AACjI,CAAC;AAED;;;GAGG;AACH,SAAgB,4BAA4B,CAC1C,aAAqB,EACrB,IAA6B;IAE7B,MAAM,WAAW,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,mBAAmB,WAAW,GAAG,aAAa,EAAE,CAAC;AAC1D,CAAC"}
|
|
@@ -49,6 +49,32 @@ export interface IndexDefinition {
|
|
|
49
49
|
*/
|
|
50
50
|
requiresSearchNormalize?: boolean;
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* PostgreSQL extended-statistics object declared on a table
|
|
54
|
+
* (`CREATE STATISTICS … ON <entries> FROM <table>`), covering univariate
|
|
55
|
+
* expression statistics (a single parenthesized expression entry) and
|
|
56
|
+
* multivariate statistics (2+ column/expression entries, optionally with an
|
|
57
|
+
* explicit kinds list).
|
|
58
|
+
*
|
|
59
|
+
* Reconciled by NAME only: the schema manager creates a declared object when
|
|
60
|
+
* no same-named one exists on the table and never drops or rebuilds — rename
|
|
61
|
+
* the object to change its definition.
|
|
62
|
+
*/
|
|
63
|
+
export interface StatisticsDefinition {
|
|
64
|
+
name: string;
|
|
65
|
+
/**
|
|
66
|
+
* Raw SQL entries of the `ON` list, in declaration order — quoted column
|
|
67
|
+
* references (`"flags"`) and/or parenthesized expressions
|
|
68
|
+
* (`("flags" & 1::smallint)`).
|
|
69
|
+
*/
|
|
70
|
+
expressions: string[];
|
|
71
|
+
/**
|
|
72
|
+
* Optional multivariate kinds (`ndistinct` / `dependencies` / `mcv`).
|
|
73
|
+
* Must be omitted for a single-expression declaration — PostgreSQL builds
|
|
74
|
+
* univariate expression statistics there and rejects a kinds list.
|
|
75
|
+
*/
|
|
76
|
+
kinds?: Array<'ndistinct' | 'dependencies' | 'mcv'>;
|
|
77
|
+
}
|
|
52
78
|
/**
|
|
53
79
|
* PostgreSQL declarative-partitioning strategy.
|
|
54
80
|
* - `'range'` — partition by ranges of the key (e.g. dates).
|
|
@@ -118,6 +144,8 @@ export interface TableSchema<TColumns extends Record<string, ColumnBuilder> = an
|
|
|
118
144
|
relations: Record<string, RelationConfig>;
|
|
119
145
|
indexes: IndexDefinition[];
|
|
120
146
|
foreignKeys: ForeignKeyConstraint[];
|
|
147
|
+
/** Extended-statistics objects declared on this table (`CREATE STATISTICS`). */
|
|
148
|
+
statistics?: StatisticsDefinition[];
|
|
121
149
|
/** Declarative partitioning config for this table (parent `PARTITION BY`). */
|
|
122
150
|
partitioning?: PartitioningConfig;
|
|
123
151
|
/**
|
|
@@ -179,6 +207,7 @@ export declare class TableBuilder<TSchema extends SchemaDefinition = any> {
|
|
|
179
207
|
private relationDefs;
|
|
180
208
|
private indexDefs;
|
|
181
209
|
private foreignKeyDefs;
|
|
210
|
+
private statisticsDefs;
|
|
182
211
|
private partitioningDef?;
|
|
183
212
|
constructor(name: string, schema: TSchema, indexes?: IndexDefinition[], foreignKeys?: ForeignKeyConstraint[], schemaName?: string);
|
|
184
213
|
private _cachedSchema?;
|
|
@@ -192,6 +221,12 @@ export declare class TableBuilder<TSchema extends SchemaDefinition = any> {
|
|
|
192
221
|
* Build the final table schema
|
|
193
222
|
*/
|
|
194
223
|
build(): TableSchema<any>;
|
|
224
|
+
/**
|
|
225
|
+
* Declare the table's extended-statistics objects (`CREATE STATISTICS`).
|
|
226
|
+
* Mirrors how indexes/foreign keys arrive from entity metadata; replaces any
|
|
227
|
+
* previously set list.
|
|
228
|
+
*/
|
|
229
|
+
withStatistics(statistics: StatisticsDefinition[]): this;
|
|
195
230
|
/**
|
|
196
231
|
* Get table name
|
|
197
232
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-builder.d.ts","sourceRoot":"","sources":["../../src/schema/table-builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"table-builder.d.ts","sourceRoot":"","sources":["../../src/schema/table-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ class TableBuilder {
|
|
|
13
13
|
this.relationDefs = {};
|
|
14
14
|
this.indexDefs = [];
|
|
15
15
|
this.foreignKeyDefs = [];
|
|
16
|
+
this.statisticsDefs = [];
|
|
16
17
|
this.tableName = name;
|
|
17
18
|
this.schemaName = schemaName;
|
|
18
19
|
this.schemaDef = schema;
|
|
@@ -115,6 +116,7 @@ class TableBuilder {
|
|
|
115
116
|
relations: this.relationDefs,
|
|
116
117
|
indexes: this.indexDefs,
|
|
117
118
|
foreignKeys: this.foreignKeyDefs,
|
|
119
|
+
statistics: this.statisticsDefs,
|
|
118
120
|
partitioning: this.partitioningDef,
|
|
119
121
|
columnNameMap,
|
|
120
122
|
relationEntries,
|
|
@@ -123,6 +125,15 @@ class TableBuilder {
|
|
|
123
125
|
};
|
|
124
126
|
return this._cachedSchema;
|
|
125
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Declare the table's extended-statistics objects (`CREATE STATISTICS`).
|
|
130
|
+
* Mirrors how indexes/foreign keys arrive from entity metadata; replaces any
|
|
131
|
+
* previously set list.
|
|
132
|
+
*/
|
|
133
|
+
withStatistics(statistics) {
|
|
134
|
+
this.statisticsDefs = statistics || [];
|
|
135
|
+
return this;
|
|
136
|
+
}
|
|
126
137
|
/**
|
|
127
138
|
* Get table name
|
|
128
139
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-builder.js","sourceRoot":"","sources":["../../src/schema/table-builder.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"table-builder.js","sourceRoot":"","sources":["../../src/schema/table-builder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "linkgress-orm",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"description": "A lightweight, type-safe ORM for PostgreSQL with LINQ-style queries and automatic type inference",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"module": "dist/index.js",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"files": [
|
|
9
|
-
"dist",
|
|
10
|
-
"README.md",
|
|
11
|
-
"LICENSE"
|
|
12
|
-
],
|
|
13
|
-
"scripts": {
|
|
14
|
-
"build": "npm run clean && tsc",
|
|
15
|
-
"build:dev": "tsc --project tsconfig.dev.json",
|
|
16
|
-
"clean": "node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"",
|
|
17
|
-
"type-check": "tsc --noEmit",
|
|
18
|
-
"type-check:dev": "tsc --project tsconfig.dev.json --noEmit",
|
|
19
|
-
"dev": "ts-node debug/index.ts",
|
|
20
|
-
"watch": "tsc --watch",
|
|
21
|
-
"watch:dev": "tsc --project tsconfig.dev.json --watch",
|
|
22
|
-
"migrate": "ts-node debug/schema/migration.ts",
|
|
23
|
-
"test": "jest",
|
|
24
|
-
"test:bun": "bun tests-bun/run-jest-suite.ts",
|
|
25
|
-
"test:bun:contract": "bun test tests-bun/",
|
|
26
|
-
"test:watch": "jest --watch",
|
|
27
|
-
"test:coverage": "jest --coverage",
|
|
28
|
-
"test:verbose": "jest --verbose",
|
|
29
|
-
"test:single": "jest --testNamePattern",
|
|
30
|
-
"prepublishOnly": "npm run build && npm test"
|
|
31
|
-
},
|
|
32
|
-
"repository": {
|
|
33
|
-
"type": "git",
|
|
34
|
-
"url": "https://github.com/brunolau/linkgress-orm.git"
|
|
35
|
-
},
|
|
36
|
-
"bugs": {
|
|
37
|
-
"url": "https://github.com/brunolau/linkgress-orm/issues"
|
|
38
|
-
},
|
|
39
|
-
"homepage": "https://github.com/brunolau/linkgress-orm#readme",
|
|
40
|
-
"keywords": [
|
|
41
|
-
"orm",
|
|
42
|
-
"postgresql",
|
|
43
|
-
"postgres",
|
|
44
|
-
"typescript",
|
|
45
|
-
"linq",
|
|
46
|
-
"query-builder",
|
|
47
|
-
"sql",
|
|
48
|
-
"database"
|
|
49
|
-
],
|
|
50
|
-
"author": "",
|
|
51
|
-
"license": "MIT",
|
|
52
|
-
"engines": {
|
|
53
|
-
"node": ">=16.0.0"
|
|
54
|
-
},
|
|
55
|
-
"devDependencies": {
|
|
56
|
-
"@jest/globals": "^30.2.0",
|
|
57
|
-
"@types/bun": "^1.3.14",
|
|
58
|
-
"@types/jest": "^30.0.0",
|
|
59
|
-
"@types/node": "^20.0.0",
|
|
60
|
-
"@types/pg": "^8.10.0",
|
|
61
|
-
"dotenv": "^16.4.0",
|
|
62
|
-
"jest": "^30.2.0",
|
|
63
|
-
"pg": "^8.11.0",
|
|
64
|
-
"ts-jest": "^29.4.5",
|
|
65
|
-
"ts-node": "^10.9.0",
|
|
66
|
-
"typescript": "^5.3.0"
|
|
67
|
-
},
|
|
68
|
-
"peerDependencies": {
|
|
69
|
-
"pg": "^8.0.0",
|
|
70
|
-
"postgres": "^3.0.0"
|
|
71
|
-
},
|
|
72
|
-
"peerDependenciesMeta": {
|
|
73
|
-
"pg": {
|
|
74
|
-
"optional": true
|
|
75
|
-
},
|
|
76
|
-
"postgres": {
|
|
77
|
-
"optional": true
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "linkgress-orm",
|
|
3
|
+
"version": "0.4.43",
|
|
4
|
+
"description": "A lightweight, type-safe ORM for PostgreSQL with LINQ-style queries and automatic type inference",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"README.md",
|
|
11
|
+
"LICENSE"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "npm run clean && tsc",
|
|
15
|
+
"build:dev": "tsc --project tsconfig.dev.json",
|
|
16
|
+
"clean": "node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\"",
|
|
17
|
+
"type-check": "tsc --noEmit",
|
|
18
|
+
"type-check:dev": "tsc --project tsconfig.dev.json --noEmit",
|
|
19
|
+
"dev": "ts-node debug/index.ts",
|
|
20
|
+
"watch": "tsc --watch",
|
|
21
|
+
"watch:dev": "tsc --project tsconfig.dev.json --watch",
|
|
22
|
+
"migrate": "ts-node debug/schema/migration.ts",
|
|
23
|
+
"test": "jest",
|
|
24
|
+
"test:bun": "bun tests-bun/run-jest-suite.ts",
|
|
25
|
+
"test:bun:contract": "bun test tests-bun/",
|
|
26
|
+
"test:watch": "jest --watch",
|
|
27
|
+
"test:coverage": "jest --coverage",
|
|
28
|
+
"test:verbose": "jest --verbose",
|
|
29
|
+
"test:single": "jest --testNamePattern",
|
|
30
|
+
"prepublishOnly": "npm run build && npm test"
|
|
31
|
+
},
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "https://github.com/brunolau/linkgress-orm.git"
|
|
35
|
+
},
|
|
36
|
+
"bugs": {
|
|
37
|
+
"url": "https://github.com/brunolau/linkgress-orm/issues"
|
|
38
|
+
},
|
|
39
|
+
"homepage": "https://github.com/brunolau/linkgress-orm#readme",
|
|
40
|
+
"keywords": [
|
|
41
|
+
"orm",
|
|
42
|
+
"postgresql",
|
|
43
|
+
"postgres",
|
|
44
|
+
"typescript",
|
|
45
|
+
"linq",
|
|
46
|
+
"query-builder",
|
|
47
|
+
"sql",
|
|
48
|
+
"database"
|
|
49
|
+
],
|
|
50
|
+
"author": "",
|
|
51
|
+
"license": "MIT",
|
|
52
|
+
"engines": {
|
|
53
|
+
"node": ">=16.0.0"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@jest/globals": "^30.2.0",
|
|
57
|
+
"@types/bun": "^1.3.14",
|
|
58
|
+
"@types/jest": "^30.0.0",
|
|
59
|
+
"@types/node": "^20.0.0",
|
|
60
|
+
"@types/pg": "^8.10.0",
|
|
61
|
+
"dotenv": "^16.4.0",
|
|
62
|
+
"jest": "^30.2.0",
|
|
63
|
+
"pg": "^8.11.0",
|
|
64
|
+
"ts-jest": "^29.4.5",
|
|
65
|
+
"ts-node": "^10.9.0",
|
|
66
|
+
"typescript": "^5.3.0"
|
|
67
|
+
},
|
|
68
|
+
"peerDependencies": {
|
|
69
|
+
"pg": "^8.0.0",
|
|
70
|
+
"postgres": "^3.0.0"
|
|
71
|
+
},
|
|
72
|
+
"peerDependenciesMeta": {
|
|
73
|
+
"pg": {
|
|
74
|
+
"optional": true
|
|
75
|
+
},
|
|
76
|
+
"postgres": {
|
|
77
|
+
"optional": true
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|