In v4 you need to explicitly install
Under the hood,
ts-morph to read
TypeScript source files of all entities to be able to detect all types. Thanks to this,
defining the type is enough for runtime validation.
If you use folder-based discovery, you should specify paths to
the compiled entities via
entities as well as paths to the TS source files of
those entities via
entitiesTs. When you run the ORM via
ts-node, the latter
will be used automatically, or if you explicitly pass
tsNode: true in the config.
After the discovery process ends, all metadata will be cached. By default,
will be used to store the cache inside
./temp folder to JSON files.
Entity metadata are cached together with modified time of the source file, and every time the cache is requested, it first checks if the cache is not invalid. This way you can forgot about the caching mechanism most of the time.
One case where you can end up needing to wipe the cache manually is when you work withing a git branch where contents of entities folder differs.
You can disable caching via:
By default, cached metadata will be one line JSON string. You can force pretty printing it:
You can set the temp folder via:
You can also implement your own cache adapter, for example to store the cache in redis.
To do so, just implement simple
And provide the implementation in