linkgress-orm 0.4.58 → 0.4.60
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 +16 -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 +23 -0
- package/dist/entity/entity-builder.d.ts.map +1 -1
- package/dist/entity/entity-builder.js +34 -0
- 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/migration/check-constraint-sql.d.ts +45 -0
- package/dist/migration/check-constraint-sql.d.ts.map +1 -0
- package/dist/migration/check-constraint-sql.js +41 -0
- package/dist/migration/check-constraint-sql.js.map +1 -0
- package/dist/migration/db-schema-manager.d.ts +27 -0
- package/dist/migration/db-schema-manager.d.ts.map +1 -1
- package/dist/migration/db-schema-manager.js +213 -117
- 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 +19 -0
- package/dist/migration/migration-scaffold.js.map +1 -1
- package/dist/query/query-builder.d.ts.map +1 -1
- package/dist/query/query-builder.js +62 -4
- package/dist/query/query-builder.js.map +1 -1
- package/dist/schema/table-builder.d.ts +23 -0
- package/dist/schema/table-builder.d.ts.map +1 -1
- package/dist/schema/table-builder.js +10 -0
- package/dist/schema/table-builder.js.map +1 -1
- package/package.json +80 -79
|
@@ -60,6 +60,21 @@ export interface IndexDefinition {
|
|
|
60
60
|
* no same-named one exists on the table and never drops or rebuilds — rename
|
|
61
61
|
* the object to change its definition.
|
|
62
62
|
*/
|
|
63
|
+
/**
|
|
64
|
+
* Table CHECK constraint declared on a table
|
|
65
|
+
* (`ALTER TABLE … ADD CONSTRAINT <name> CHECK (<expression>)`). The
|
|
66
|
+
* expression is raw SQL over quoted DATABASE column names, mirroring
|
|
67
|
+
* partial-index `where` clauses.
|
|
68
|
+
*
|
|
69
|
+
* Reconciled by NAME only: the schema manager adds a declared constraint when
|
|
70
|
+
* no same-named one exists on the table and never drops or rebuilds — rename
|
|
71
|
+
* the constraint to change its definition.
|
|
72
|
+
*/
|
|
73
|
+
export interface CheckConstraintDefinition {
|
|
74
|
+
name: string;
|
|
75
|
+
/** Raw SQL boolean expression — the contents of the `CHECK (…)` parentheses. */
|
|
76
|
+
expression: string;
|
|
77
|
+
}
|
|
63
78
|
export interface StatisticsDefinition {
|
|
64
79
|
name: string;
|
|
65
80
|
/**
|
|
@@ -146,6 +161,8 @@ export interface TableSchema<TColumns extends Record<string, ColumnBuilder> = an
|
|
|
146
161
|
foreignKeys: ForeignKeyConstraint[];
|
|
147
162
|
/** Extended-statistics objects declared on this table (`CREATE STATISTICS`). */
|
|
148
163
|
statistics?: StatisticsDefinition[];
|
|
164
|
+
/** Table CHECK constraints declared on this table. */
|
|
165
|
+
checkConstraints?: CheckConstraintDefinition[];
|
|
149
166
|
/** Declarative partitioning config for this table (parent `PARTITION BY`). */
|
|
150
167
|
partitioning?: PartitioningConfig;
|
|
151
168
|
/**
|
|
@@ -208,6 +225,7 @@ export declare class TableBuilder<TSchema extends SchemaDefinition = any> {
|
|
|
208
225
|
private indexDefs;
|
|
209
226
|
private foreignKeyDefs;
|
|
210
227
|
private statisticsDefs;
|
|
228
|
+
private checkConstraintDefs;
|
|
211
229
|
private partitioningDef?;
|
|
212
230
|
constructor(name: string, schema: TSchema, indexes?: IndexDefinition[], foreignKeys?: ForeignKeyConstraint[], schemaName?: string);
|
|
213
231
|
private _cachedSchema?;
|
|
@@ -227,6 +245,11 @@ export declare class TableBuilder<TSchema extends SchemaDefinition = any> {
|
|
|
227
245
|
* previously set list.
|
|
228
246
|
*/
|
|
229
247
|
withStatistics(statistics: StatisticsDefinition[]): this;
|
|
248
|
+
/**
|
|
249
|
+
* Declare the table's CHECK constraints. Mirrors how indexes/foreign keys
|
|
250
|
+
* arrive from entity metadata; replaces any previously set list.
|
|
251
|
+
*/
|
|
252
|
+
withCheckConstraints(checkConstraints: CheckConstraintDefinition[]): this;
|
|
230
253
|
/**
|
|
231
254
|
* Get table name
|
|
232
255
|
*/
|
|
@@ -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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"}
|
|
@@ -14,6 +14,7 @@ class TableBuilder {
|
|
|
14
14
|
this.indexDefs = [];
|
|
15
15
|
this.foreignKeyDefs = [];
|
|
16
16
|
this.statisticsDefs = [];
|
|
17
|
+
this.checkConstraintDefs = [];
|
|
17
18
|
this.tableName = name;
|
|
18
19
|
this.schemaName = schemaName;
|
|
19
20
|
this.schemaDef = schema;
|
|
@@ -117,6 +118,7 @@ class TableBuilder {
|
|
|
117
118
|
indexes: this.indexDefs,
|
|
118
119
|
foreignKeys: this.foreignKeyDefs,
|
|
119
120
|
statistics: this.statisticsDefs,
|
|
121
|
+
checkConstraints: this.checkConstraintDefs,
|
|
120
122
|
partitioning: this.partitioningDef,
|
|
121
123
|
columnNameMap,
|
|
122
124
|
relationEntries,
|
|
@@ -134,6 +136,14 @@ class TableBuilder {
|
|
|
134
136
|
this.statisticsDefs = statistics || [];
|
|
135
137
|
return this;
|
|
136
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Declare the table's CHECK constraints. Mirrors how indexes/foreign keys
|
|
141
|
+
* arrive from entity metadata; replaces any previously set list.
|
|
142
|
+
*/
|
|
143
|
+
withCheckConstraints(checkConstraints) {
|
|
144
|
+
this.checkConstraintDefs = checkConstraints || [];
|
|
145
|
+
return this;
|
|
146
|
+
}
|
|
137
147
|
/**
|
|
138
148
|
* Get table name
|
|
139
149
|
*/
|
|
@@ -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,79 +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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
"@
|
|
57
|
-
"@types/
|
|
58
|
-
"@types/
|
|
59
|
-
"@types/
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"ts-
|
|
65
|
-
"
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "linkgress-orm",
|
|
3
|
+
"version": "0.4.60",
|
|
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
|
+
}
|