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)
- Use
bigint
type natively inBigIntType
(node 12+)
- 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)
- Use
jsonb
as default for object columns in postgres - Support subqueries in QB
- Nested conditions in
qb.update()
queries via subqueries (#319) - Nested conditions in
em.remove()
via subqueries (#492) - Use custom errors for specific cases (unique constraint violation, db not accessible, ...)
- Paginator helper or something similar (doctrine docs)
- Add
groupBy
anddistinct
toFindOptions
andFindOneOptions
- Lazy scalar properties (allow having props that won't be loaded by default, but can be populated)
- Support computed properties
- Association scopes/filters (hibernate docs)
- Support external hooks when using EntitySchema (hooks outside of entity)
- Cache metadata only with ts-morph provider
- Diffing entity level indexes in schema generator
- Add custom types for blob, array, json
- Seeds (#251)
- Static checking of population (#214)
- Nested object validation (#466)
- Migrations Support for MongoDB (#295)
- 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 - Do not define internal methods like
init
directly on the entity prototype (#506) - Support multiple M:N with same properties without manually specifying
pivotTable
- Change behaviour of property
default
, adddefaultRaw