@uql/core 3.7.13 → 3.8.1
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/CHANGELOG.md +11 -2
- package/README.md +16 -8
- package/dist/browser/uql-browser.min.js +16 -15
- package/dist/browser/uql-browser.min.js.map +1 -1
- package/dist/dialect/abstractDialect.d.ts +7 -2
- package/dist/dialect/abstractDialect.d.ts.map +1 -1
- package/dist/dialect/abstractDialect.js +9 -1
- package/dist/dialect/abstractDialect.js.map +1 -1
- package/dist/dialect/abstractSqlDialect.d.ts +5 -6
- package/dist/dialect/abstractSqlDialect.d.ts.map +1 -1
- package/dist/dialect/abstractSqlDialect.js +14 -13
- package/dist/dialect/abstractSqlDialect.js.map +1 -1
- package/dist/dialect/dialectConfig.d.ts +17 -0
- package/dist/dialect/dialectConfig.d.ts.map +1 -0
- package/dist/dialect/dialectConfig.js +71 -0
- package/dist/dialect/dialectConfig.js.map +1 -0
- package/dist/dialect/index.d.ts +1 -0
- package/dist/dialect/index.d.ts.map +1 -1
- package/dist/dialect/index.js +1 -0
- package/dist/dialect/index.js.map +1 -1
- package/dist/entity/decorator/definition.d.ts.map +1 -1
- package/dist/entity/decorator/definition.js +2 -1
- package/dist/entity/decorator/definition.js.map +1 -1
- package/dist/entity/decorator/index-decorator.d.ts +36 -0
- package/dist/entity/decorator/index-decorator.d.ts.map +1 -0
- package/dist/entity/decorator/index-decorator.js +51 -0
- package/dist/entity/decorator/index-decorator.js.map +1 -0
- package/dist/entity/decorator/index.d.ts +1 -0
- package/dist/entity/decorator/index.d.ts.map +1 -1
- package/dist/entity/decorator/index.js +1 -0
- package/dist/entity/decorator/index.js.map +1 -1
- package/dist/maria/mariaDialect.d.ts +2 -1
- package/dist/maria/mariaDialect.d.ts.map +1 -1
- package/dist/maria/mariaDialect.js +3 -0
- package/dist/maria/mariaDialect.js.map +1 -1
- package/dist/migrate/builder/columnBuilder.d.ts +75 -0
- package/dist/migrate/builder/columnBuilder.d.ts.map +1 -0
- package/dist/migrate/builder/columnBuilder.js +149 -0
- package/dist/migrate/builder/columnBuilder.js.map +1 -0
- package/dist/migrate/builder/expressions.d.ts +87 -0
- package/dist/migrate/builder/expressions.d.ts.map +1 -0
- package/dist/migrate/builder/expressions.js +150 -0
- package/dist/migrate/builder/expressions.js.map +1 -0
- package/dist/migrate/builder/index.d.ts +6 -0
- package/dist/migrate/builder/index.d.ts.map +1 -0
- package/dist/migrate/builder/index.js +6 -0
- package/dist/migrate/builder/index.js.map +1 -0
- package/dist/migrate/builder/migrationBuilder.d.ts +73 -0
- package/dist/migrate/builder/migrationBuilder.d.ts.map +1 -0
- package/dist/migrate/builder/migrationBuilder.js +326 -0
- package/dist/migrate/builder/migrationBuilder.js.map +1 -0
- package/dist/migrate/builder/tableBuilder.d.ts +51 -0
- package/dist/migrate/builder/tableBuilder.d.ts.map +1 -0
- package/dist/migrate/builder/tableBuilder.js +278 -0
- package/dist/migrate/builder/tableBuilder.js.map +1 -0
- package/dist/migrate/builder/types.d.ts +462 -0
- package/dist/migrate/builder/types.d.ts.map +1 -0
- package/dist/migrate/builder/types.js +8 -0
- package/dist/migrate/builder/types.js.map +1 -0
- package/dist/migrate/cli.d.ts +4 -6
- package/dist/migrate/cli.d.ts.map +1 -1
- package/dist/migrate/cli.js +166 -23
- package/dist/migrate/cli.js.map +1 -1
- package/dist/migrate/codegen/entityCodeGenerator.d.ts +137 -0
- package/dist/migrate/codegen/entityCodeGenerator.d.ts.map +1 -0
- package/dist/migrate/codegen/entityCodeGenerator.js +401 -0
- package/dist/migrate/codegen/entityCodeGenerator.js.map +1 -0
- package/dist/migrate/codegen/entityMerger.d.ts +111 -0
- package/dist/migrate/codegen/entityMerger.d.ts.map +1 -0
- package/dist/migrate/codegen/entityMerger.js +291 -0
- package/dist/migrate/codegen/entityMerger.js.map +1 -0
- package/dist/migrate/codegen/index.d.ts +10 -0
- package/dist/migrate/codegen/index.d.ts.map +1 -0
- package/dist/migrate/codegen/index.js +14 -0
- package/dist/migrate/codegen/index.js.map +1 -0
- package/dist/migrate/codegen/migrationCodeGenerator.d.ts +62 -0
- package/dist/migrate/codegen/migrationCodeGenerator.d.ts.map +1 -0
- package/dist/migrate/codegen/migrationCodeGenerator.js +356 -0
- package/dist/migrate/codegen/migrationCodeGenerator.js.map +1 -0
- package/dist/migrate/codegen/smartRelationDetector.d.ts +48 -0
- package/dist/migrate/codegen/smartRelationDetector.d.ts.map +1 -0
- package/dist/migrate/codegen/smartRelationDetector.js +135 -0
- package/dist/migrate/codegen/smartRelationDetector.js.map +1 -0
- package/dist/migrate/drift/driftDetector.d.ts +81 -0
- package/dist/migrate/drift/driftDetector.d.ts.map +1 -0
- package/dist/migrate/drift/driftDetector.js +248 -0
- package/dist/migrate/drift/driftDetector.js.map +1 -0
- package/dist/migrate/drift/index.d.ts +7 -0
- package/dist/migrate/drift/index.d.ts.map +1 -0
- package/dist/migrate/drift/index.js +7 -0
- package/dist/migrate/drift/index.js.map +1 -0
- package/dist/migrate/generator/index.d.ts +1 -3
- package/dist/migrate/generator/index.d.ts.map +1 -1
- package/dist/migrate/generator/index.js +1 -3
- package/dist/migrate/generator/index.js.map +1 -1
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts +29 -3
- package/dist/migrate/generator/mongoSchemaGenerator.d.ts.map +1 -1
- package/dist/migrate/generator/mongoSchemaGenerator.js +86 -4
- package/dist/migrate/generator/mongoSchemaGenerator.js.map +1 -1
- package/dist/migrate/index.d.ts +7 -8
- package/dist/migrate/index.d.ts.map +1 -1
- package/dist/migrate/index.js +11 -9
- package/dist/migrate/index.js.map +1 -1
- package/dist/migrate/introspection/baseSqlIntrospector.d.ts +28 -0
- package/dist/migrate/introspection/baseSqlIntrospector.d.ts.map +1 -0
- package/dist/migrate/introspection/baseSqlIntrospector.js +135 -0
- package/dist/migrate/introspection/baseSqlIntrospector.js.map +1 -0
- package/dist/migrate/introspection/mongoIntrospector.d.ts +6 -0
- package/dist/migrate/introspection/mongoIntrospector.d.ts.map +1 -1
- package/dist/migrate/introspection/mongoIntrospector.js +54 -0
- package/dist/migrate/introspection/mongoIntrospector.js.map +1 -1
- package/dist/migrate/introspection/mysqlIntrospector.d.ts +2 -1
- package/dist/migrate/introspection/mysqlIntrospector.d.ts.map +1 -1
- package/dist/migrate/introspection/mysqlIntrospector.js +8 -6
- package/dist/migrate/introspection/mysqlIntrospector.js.map +1 -1
- package/dist/migrate/introspection/postgresIntrospector.d.ts +2 -1
- package/dist/migrate/introspection/postgresIntrospector.d.ts.map +1 -1
- package/dist/migrate/introspection/postgresIntrospector.js +3 -1
- package/dist/migrate/introspection/postgresIntrospector.js.map +1 -1
- package/dist/migrate/introspection/sqliteIntrospector.d.ts +2 -2
- package/dist/migrate/introspection/sqliteIntrospector.d.ts.map +1 -1
- package/dist/migrate/introspection/sqliteIntrospector.js +3 -4
- package/dist/migrate/introspection/sqliteIntrospector.js.map +1 -1
- package/dist/migrate/migrator.d.ts +29 -0
- package/dist/migrate/migrator.d.ts.map +1 -1
- package/dist/migrate/migrator.js +31 -23
- package/dist/migrate/migrator.js.map +1 -1
- package/dist/migrate/schemaGenerator.d.ts +72 -22
- package/dist/migrate/schemaGenerator.d.ts.map +1 -1
- package/dist/migrate/schemaGenerator.js +385 -153
- package/dist/migrate/schemaGenerator.js.map +1 -1
- package/dist/migrate/sync/index.d.ts +7 -0
- package/dist/migrate/sync/index.d.ts.map +1 -0
- package/dist/migrate/sync/index.js +7 -0
- package/dist/migrate/sync/index.js.map +1 -0
- package/dist/migrate/sync/schemaSync.d.ts +132 -0
- package/dist/migrate/sync/schemaSync.d.ts.map +1 -0
- package/dist/migrate/sync/schemaSync.js +260 -0
- package/dist/migrate/sync/schemaSync.js.map +1 -0
- package/dist/mongo/mongoDialect.d.ts +2 -1
- package/dist/mongo/mongoDialect.d.ts.map +1 -1
- package/dist/mongo/mongoDialect.js +3 -0
- package/dist/mongo/mongoDialect.js.map +1 -1
- package/dist/mysql/mysqlDialect.d.ts +2 -0
- package/dist/mysql/mysqlDialect.d.ts.map +1 -1
- package/dist/mysql/mysqlDialect.js +3 -0
- package/dist/mysql/mysqlDialect.js.map +1 -1
- package/dist/postgres/postgresDialect.js +1 -1
- package/dist/postgres/postgresDialect.js.map +1 -1
- package/dist/schema/canonicalType.d.ts +42 -0
- package/dist/schema/canonicalType.d.ts.map +1 -0
- package/dist/schema/canonicalType.js +524 -0
- package/dist/schema/canonicalType.js.map +1 -0
- package/dist/schema/index.d.ts +28 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +29 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/schemaAST.d.ts +155 -0
- package/dist/schema/schemaAST.d.ts.map +1 -0
- package/dist/schema/schemaAST.js +496 -0
- package/dist/schema/schemaAST.js.map +1 -0
- package/dist/schema/schemaASTBuilder.d.ts +58 -0
- package/dist/schema/schemaASTBuilder.d.ts.map +1 -0
- package/dist/schema/schemaASTBuilder.js +193 -0
- package/dist/schema/schemaASTBuilder.js.map +1 -0
- package/dist/schema/schemaASTDiffer.d.ts +84 -0
- package/dist/schema/schemaASTDiffer.d.ts.map +1 -0
- package/dist/schema/schemaASTDiffer.js +431 -0
- package/dist/schema/schemaASTDiffer.js.map +1 -0
- package/dist/schema/types.d.ts +347 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +11 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/sqlite/sqliteDialect.js +1 -1
- package/dist/sqlite/sqliteDialect.js.map +1 -1
- package/dist/sqlite/sqliteQuerierPool.js.map +1 -1
- package/dist/type/config.d.ts +6 -0
- package/dist/type/config.d.ts.map +1 -1
- package/dist/type/entity.d.ts +24 -0
- package/dist/type/entity.d.ts.map +1 -1
- package/dist/type/migration.d.ts +50 -4
- package/dist/type/migration.d.ts.map +1 -1
- package/dist/util/field.util.d.ts +0 -1
- package/dist/util/field.util.d.ts.map +1 -1
- package/dist/util/field.util.js +8 -2
- package/dist/util/field.util.js.map +1 -1
- package/dist/util/logger.d.ts.map +1 -1
- package/dist/util/logger.js +2 -1
- package/dist/util/logger.js.map +1 -1
- package/dist/util/string.util.d.ts +24 -0
- package/dist/util/string.util.d.ts.map +1 -1
- package/dist/util/string.util.js +57 -0
- package/dist/util/string.util.js.map +1 -1
- package/package.json +2 -2
- package/dist/migrate/generator/mysqlSchemaGenerator.d.ts +0 -15
- package/dist/migrate/generator/mysqlSchemaGenerator.d.ts.map +0 -1
- package/dist/migrate/generator/mysqlSchemaGenerator.js +0 -88
- package/dist/migrate/generator/mysqlSchemaGenerator.js.map +0 -1
- package/dist/migrate/generator/postgresSchemaGenerator.d.ts +0 -19
- package/dist/migrate/generator/postgresSchemaGenerator.d.ts.map +0 -1
- package/dist/migrate/generator/postgresSchemaGenerator.js +0 -115
- package/dist/migrate/generator/postgresSchemaGenerator.js.map +0 -1
- package/dist/migrate/generator/sqliteSchemaGenerator.d.ts +0 -16
- package/dist/migrate/generator/sqliteSchemaGenerator.d.ts.map +0 -1
- package/dist/migrate/generator/sqliteSchemaGenerator.js +0 -74
- package/dist/migrate/generator/sqliteSchemaGenerator.js.map +0 -1
- package/dist/migrate/type.d.ts +0 -2
- package/dist/migrate/type.d.ts.map +0 -1
- package/dist/migrate/type.js +0 -2
- package/dist/migrate/type.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
## [3.
|
|
6
|
+
## [3.8.1](https://github.com/rogerpadilla/uql/compare/@uql/core@3.8.0...@uql/core@3.8.1) (2026-01-08)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @uql/core
|
|
9
9
|
|
|
@@ -17,7 +17,16 @@ All notable changes to this project will be documented in this file. Please add
|
|
|
17
17
|
|
|
18
18
|
date format is [yyyy-mm-dd]
|
|
19
19
|
|
|
20
|
-
## [3.
|
|
20
|
+
## [3.8.0] - 2026-01-08
|
|
21
|
+
### Schema Sync System & AST Engine
|
|
22
|
+
- **Schema AST Feature**: Introduced a revolutionary **Schema AST (Abstract Syntax Tree)** engine that treats the database schema as a graph. This enables features like **Circular Dependency Detection** and automatic topological sorting for `CREATE`/`DROP` operations, solving complex schema edge cases that simple list-based approaches cannot handle.
|
|
23
|
+
- **Smart Relation Detection**: When scaffolding entities from an existing database (`generate:from-db`), UQL now automatically infers **OneToOne** and **ManyToMany** relationships by analyzing foreign key structures and naming conventions (e.g., `user_id` -> `User` entity), significantly reducing manual boilerplate.
|
|
24
|
+
- **Drift Detection**: Added the `drift:check` command to detect discrepancies between your TypeScript entities and the actual database schema. It reports critical issues (missing tables, risk of data truncation) and warnings (missing indexes) to ensure production safety.
|
|
25
|
+
- **Bidirectional Index Sync**: Indexes are now fully synchronized in both directions. `@Field({ index: true })` definitions are pushed to the database, and existing database indexes are reflected in generated entity files.
|
|
26
|
+
- **Unified Migration Builder API**: Refactored the migration builder to use a cohesive **Options Object** API (e.g., `t.string('email', { length: 255, unique: true })`). This replaces the old positional argument style, aligning strictly with the `@Field` decorator options for a consistent developer experience.
|
|
27
|
+
- **Refactored Generators**: Consolidated `SqlSchemaGenerator` and `MongoSchemaGenerator` into a unified architecture, sharing core logic for simpler maintenance and better type safety.
|
|
28
|
+
|
|
29
|
+
## [3.7.14] - 2026-01-06
|
|
21
30
|
### Documentation
|
|
22
31
|
- **README Refinement**: Improved docs about new Migrations feature.
|
|
23
32
|
|
package/README.md
CHANGED
|
@@ -40,12 +40,13 @@ const users = await querier.findMany(User, {
|
|
|
40
40
|
| **[Context-Aware Queries](https://uql.app/querying/relations)** | Deep type-safety for operators and [relations](https://uql.app/querying/relations) at any depth. |
|
|
41
41
|
| **Serializable JSON** | 100% valid JSON queries for easy transport over HTTP/Websockets. |
|
|
42
42
|
| **Unified Dialects** | Write once, run anywhere: PostgreSQL, MySQL, SQLite, MongoDB, and more. |
|
|
43
|
-
| **Naming Strategies**
|
|
43
|
+
| **[Naming Strategies](https://uql.app/naming-strategy)** | Pluggable system to translate between TypeScript `camelCase` and database `snake_case`. |
|
|
44
44
|
| **Smart SQL Engine** | Optimized sub-queries, placeholders ($1, $2), and minimal SQL generation via `QueryContext`. |
|
|
45
45
|
| **Thread-Safe by Design** | Centralized task queue and `@Serialized()` decorator prevent race conditions. |
|
|
46
|
-
| **Declarative Transactions**
|
|
46
|
+
| **[Declarative Transactions](https://www.uql.app/transactions-declarative)** | Standard `@Transactional()` and `@InjectQuerier()` decorators for NestJS/DI. |
|
|
47
47
|
| **[Modern & Versatile](https://uql.app/entities/virtual-fields)** | **Pure ESM**, high-res timing, [Soft-delete](https://uql.app/entities/soft-delete), and **Vector/JSONB/JSON** support. |
|
|
48
|
-
| **
|
|
48
|
+
| **[Database Migrations](https://www.uql.app/migrations)** | Built-in [Entity-First synchronization](https://uql.app/migrations#3-entity-first-synchronization-development) and a robust CLI for version-controlled schema evolution. |
|
|
49
|
+
| **[Logging & Monitoring](https://www.uql.app/logging)** | Professional-grade monitoring with slow-query detection and colored output. |
|
|
49
50
|
|
|
50
51
|
|
|
51
52
|
|
|
@@ -364,13 +365,14 @@ export default {
|
|
|
364
365
|
|
|
365
366
|
### 2. Manage via CLI
|
|
366
367
|
|
|
367
|
-
|
|
368
368
|
Use the CLI to manage your database schema evolution.
|
|
369
369
|
|
|
370
370
|
| Command | Description |
|
|
371
371
|
| :--- | :--- |
|
|
372
372
|
| `generate <name>` | Creates an empty timestamped file for **manual** SQL migrations (e.g., data backfills). |
|
|
373
373
|
| `generate:entities <name>` | **Auto-generates** a migration by diffing your entities against the current DB schema. |
|
|
374
|
+
| `generate:from-db` | **Scaffolds Entities** from an existing database. Includes **Smart Relation Detection**. |
|
|
375
|
+
| `drift:check` | **Drift Detection**: Compares your defined entities against the actual database schema and reports discrepancies. |
|
|
374
376
|
| `up` | Applies all pending migrations. |
|
|
375
377
|
| `down` | Rolls back the last applied migration batch. |
|
|
376
378
|
| `status` | Shows which migrations have been executed and which are pending. |
|
|
@@ -387,11 +389,11 @@ npx uql-migrate generate:entities add_profile_table
|
|
|
387
389
|
# 3. Apply changes
|
|
388
390
|
npx uql-migrate up
|
|
389
391
|
|
|
390
|
-
# 4.
|
|
391
|
-
npx uql-migrate
|
|
392
|
+
# 4. Check for schema drift (Production Safety)
|
|
393
|
+
npx uql-migrate drift:check
|
|
392
394
|
|
|
393
|
-
# 5.
|
|
394
|
-
npx uql-migrate
|
|
395
|
+
# 5. Scaffold entities from an existing DB (Legacy Adoption)
|
|
396
|
+
npx uql-migrate generate:from-db --output ./src/entities
|
|
395
397
|
```
|
|
396
398
|
|
|
397
399
|
> **Bun Users**: If your `uql.config.ts` uses TypeScript path aliases (e.g., `~app/...`), run migrations with the `--bun` flag to ensure proper resolution:
|
|
@@ -404,6 +406,12 @@ npx uql-migrate up --config ./configs/uql.config.ts
|
|
|
404
406
|
|
|
405
407
|
Keep your schema in sync without manual migrations. It is **Safe by Default**: In safe mode (default), it strictly **adds** new tables and columns but **blocks** any destructive operations (column drops or type alterations) to prevent data loss. It provides **Transparent Feedback** by logging detailed warnings for any blocked changes, so you know exactly what remains to be migrated manually.
|
|
406
408
|
|
|
409
|
+
**New Capabilities (v3.8+):**
|
|
410
|
+
|
|
411
|
+
* **Schema AST Engine**: Uses a graph-based representation of your schema for 100% accurate diffing, handling circular dependencies and correct topological sort orders for table creation/dropping.
|
|
412
|
+
* **Smart Relation Detection**: When generating entities from an existing DB, UQL automatically detects relationships (OneToOne, ManyToMany) via foreign key structures and naming conventions (`user_id` -> `User`).
|
|
413
|
+
* **Bidirectional Index Sync**: Indexes defined in `@Field({ index: true })` or `@Index()` are synced to the DB, and indexes found in the DB are reflected in generated entities.
|
|
414
|
+
|
|
407
415
|
> **Important**: For `autoSync` to detect your entities, they must be **loaded** (imported) before calling `autoSync`.
|
|
408
416
|
|
|
409
417
|
**Using Your Config (Recommended)**
|
|
@@ -32,11 +32,11 @@ var _dec, _dec1, _dec2, _dec3, _dec4, _dec5, _dec6, /**
|
|
|
32
32
|
* `onDelete` callback allows to specify which field will be used when deleting/querying this entity.
|
|
33
33
|
*/ _init_deletedAt, _dec42, _initClass8, _BaseEntity7, _dec43, _dec44, _dec45, _dec46, _init_name7, _init_categoryId1, _init_category1, _init_deletedAt1, _dec47, _initClass9, _BaseEntity8, _dec48, _dec49, _dec50, _init_name8, _init_address, _init_description4, _dec51, _initClass10, _BaseEntity9, _dec52, _dec53, _dec54, _dec55, _dec56, _dec57, _dec58, _dec59, _dec60, _dec61, _dec62, _dec63, _dec64, _dec65, _dec66, _init_name9, _init_description5, _init_code, _init_buyLedgerAccountId, _init_buyLedgerAccount, _init_saleLedgerAccountId, _init_saleLedgerAccount, _init_taxId, _init_tax, _init_measureUnitId, _init_measureUnit, _init_salePrice, _init_inventoryable, _init_tags, _init_tagsCount, _dec67, _initClass11, _BaseEntity10, _dec68, _dec69, _dec70, _init_name10, _init_items, _init_itemsCount, _dec71, _initClass12, _dec72, _dec73, _dec74, _init_id2, _init_itemId, _init_tagId, _dec75, _initClass13, _BaseEntity11, _dec76, _dec77, _dec78, _init_itemAdjustments, _init_date, _init_description6, _dec79, _initClass14, _BaseEntity12, _dec80, _dec81, _dec82, _dec83, _dec84, _dec85, _dec86, _dec87, _init_itemId1, _init_item, _init_number, _init_buyPrice, _init_storehouseId, _init_storehouse, _init_inventoryAdjustmentId, _init_inventoryAdjustment;
|
|
34
34
|
_dec = Id(), _dec1 = Field({
|
|
35
|
-
|
|
35
|
+
references: ()=>_Company
|
|
36
36
|
}), _dec2 = ManyToOne({
|
|
37
37
|
entity: ()=>_Company
|
|
38
38
|
}), _dec3 = Field({
|
|
39
|
-
|
|
39
|
+
references: ()=>_User
|
|
40
40
|
}), _dec4 = ManyToOne({
|
|
41
41
|
entity: ()=>_User
|
|
42
42
|
}), _dec5 = Field({
|
|
@@ -243,7 +243,7 @@ class UserWithNonUpdatableId {
|
|
|
243
243
|
}
|
|
244
244
|
let _LedgerAccount;
|
|
245
245
|
_dec23 = Entity(), _dec24 = Field(), _dec25 = Field(), _dec26 = Field({
|
|
246
|
-
|
|
246
|
+
references: ()=>_LedgerAccount
|
|
247
247
|
}), _dec27 = ManyToOne();
|
|
248
248
|
class LedgerAccount extends (_BaseEntity3 = BaseEntity) {
|
|
249
249
|
static{
|
|
@@ -314,7 +314,7 @@ class TaxCategory extends (_BaseEntity4 = BaseEntity) {
|
|
|
314
314
|
}
|
|
315
315
|
let _Tax;
|
|
316
316
|
_dec32 = Entity(), _dec33 = Field(), _dec34 = Field(), _dec35 = Field({
|
|
317
|
-
|
|
317
|
+
references: ()=>_TaxCategory
|
|
318
318
|
}), _dec36 = ManyToOne(), _dec37 = Field();
|
|
319
319
|
class Tax extends (_BaseEntity5 = BaseEntity) {
|
|
320
320
|
static{
|
|
@@ -397,7 +397,7 @@ let _MeasureUnit;
|
|
|
397
397
|
_dec42 = Entity({
|
|
398
398
|
softDelete: true
|
|
399
399
|
}), _dec43 = Field(), _dec44 = Field({
|
|
400
|
-
|
|
400
|
+
references: ()=>_MeasureUnitCategory
|
|
401
401
|
}), _dec45 = ManyToOne({
|
|
402
402
|
cascade: 'persist'
|
|
403
403
|
}), _dec46 = Field({
|
|
@@ -470,13 +470,13 @@ class Storehouse extends (_BaseEntity8 = BaseEntity) {
|
|
|
470
470
|
}
|
|
471
471
|
let _Item;
|
|
472
472
|
_dec51 = Entity(), _dec52 = Field(), _dec53 = Field(), _dec54 = Field(), _dec55 = Field({
|
|
473
|
-
|
|
473
|
+
references: ()=>_LedgerAccount
|
|
474
474
|
}), _dec56 = ManyToOne(), _dec57 = Field({
|
|
475
|
-
|
|
475
|
+
references: ()=>_LedgerAccount
|
|
476
476
|
}), _dec58 = ManyToOne(), _dec59 = Field({
|
|
477
|
-
|
|
477
|
+
references: ()=>_Tax
|
|
478
478
|
}), _dec60 = ManyToOne(), _dec61 = Field({
|
|
479
|
-
|
|
479
|
+
references: ()=>_MeasureUnit
|
|
480
480
|
}), _dec62 = ManyToOne(), _dec63 = Field(), _dec64 = Field(), _dec65 = ManyToMany({
|
|
481
481
|
entity: ()=>_Tag,
|
|
482
482
|
through: ()=>_ItemTag,
|
|
@@ -640,9 +640,9 @@ class Tag extends (_BaseEntity10 = BaseEntity) {
|
|
|
640
640
|
}
|
|
641
641
|
let _ItemTag;
|
|
642
642
|
_dec71 = Entity(), _dec72 = Id(), _dec73 = Field({
|
|
643
|
-
|
|
643
|
+
references: ()=>_Item
|
|
644
644
|
}), _dec74 = Field({
|
|
645
|
-
|
|
645
|
+
references: ()=>_Tag
|
|
646
646
|
});
|
|
647
647
|
class ItemTag {
|
|
648
648
|
static{
|
|
@@ -712,11 +712,11 @@ class InventoryAdjustment extends (_BaseEntity11 = BaseEntity) {
|
|
|
712
712
|
}
|
|
713
713
|
let _ItemAdjustment;
|
|
714
714
|
_dec79 = Entity(), _dec80 = Field({
|
|
715
|
-
|
|
715
|
+
references: ()=>_Item
|
|
716
716
|
}), _dec81 = ManyToOne(), _dec82 = Field(), _dec83 = Field(), _dec84 = Field({
|
|
717
|
-
|
|
717
|
+
references: ()=>_Storehouse
|
|
718
718
|
}), _dec85 = ManyToOne(), _dec86 = Field({
|
|
719
|
-
|
|
719
|
+
references: ()=>_InventoryAdjustment
|
|
720
720
|
}), _dec87 = ManyToOne();
|
|
721
721
|
class ItemAdjustment extends (_BaseEntity12 = BaseEntity) {
|
|
722
722
|
static{
|
|
@@ -879,7 +879,8 @@ function fillInverseSideRelations(relOpts) {
|
|
|
879
879
|
function fillThroughRelations(entity) {
|
|
880
880
|
const meta = ensureMeta(entity);
|
|
881
881
|
meta.relations = getKeys(meta.fields).reduce((relations, key)=>{
|
|
882
|
-
const
|
|
882
|
+
const field = meta.fields[key];
|
|
883
|
+
const reference = field.references ?? field.reference;
|
|
883
884
|
if (reference) {
|
|
884
885
|
const relEntity = reference();
|
|
885
886
|
const relMeta = ensureMeta(relEntity);
|