This section lists planned features for future releases. They are not in any specific order, and they are subject to change.
All features that are planned for upcoming release will be converted to GitHub issues. If you want to contribute on any of those, please open the issue yourself first to discuss specifics.
- Schema sync (allow automatic synchronization during development)
- Collection expressions - support querying parts of collection
- Collection pagination
- Map collections
- Slow query log
- Leverage async iterators for collections (node 10+)
- Multi tenant support (schema per tenant)
- Single table inheritance (#33)
- Allow adding items to not initialized collections
- Use absolute path to entity file in static MetadataStorage keys (fix for 'Multiple property decorators' validation issues)
- Embedded entities (allow in-lining child entity into parent one with prefixed keys, or maybe as serialized JSON)
- Association scopes/filters (hibernate docs)
- Support external hooks when using EntitySchema (hooks outside of entity)
- Support multiple M:N with same properties without manually specifying
pivotTable
- Cache metadata only with ts-morph provider
- Diffing entity level indexes in schema generator
- Support subqueries in QB
- Support computed properties
- Add
groupBy
anddistinct
toFindOptions
andFindOneOptions
- Paginator helper or something similar (doctrine docs)
- Use custom errors for specific cases (unique constraint violation, db not accessible, ...)
- Add custom types for blob, array, json
- Do not define internal methods like
init
directly on the entity prototype (#506) - Lazy scalar properties (allow having props that won't be loaded by default, but can be populated)
- Require node 10+
- Require TS 3.7 or newer
- Split into multiple packages (core, driver packages, TS support, SQL support, CLI)
- Remove
autoFlush
option - Drop default value for platform
type
(currently defaults tomongodb
) - Remove
IdEntity/UuidEntity/MongoEntity
interfaces - Rename
wrappedReference
toreference
(keepwrappedReference
supported) - Use
bigint
type natively inBigIntType
- Use
jsonb
as default for object columns in postgres