* use CircleCI for CI badge
Updates the badge to point at CircleCI for the passing / failing status
* doc: use circleci badge in README (zh_CN)
* doc: use circleci badge in readme in docs (zh_CN)
* doc: use circleci badge under index in docs (zh_CN)
* feat: better-sqlite3 driver which is significantly faster than node-sqlite3
* test: added all tests for sqlite to better-sqlite3
* test: "query runner > drop column" modified compatible
* docs: added better-sqlite3 related docs
There was no documented way of setting a connection timeout for the
postgres driver. We recently ran into an issue with our network that
caused a container to hang indefinitely attempting to connect to
postgres.
We managed to resolve the issue by setting 'connectionTimeoutMillis' in
the 'extra' field of our connection options. This approach does not
appear to be documented anywhere.
Seeing that MongoDB and MySQL drivers both support a connection timeout
as part of the documented API, we felt it made sense to add a similar
option to the Postgres driver and hopefully avoid some headaches down
the road.
This commit adds a 'connectTimeoutMS' option to the postgres driver
that gets translated to the appropriate field for the pg library. It
also updates the documentation to reflect this new option.
Because the default behavior of the underlying pg library is to attempt
to connect indefinitely, we didn't feel like it was a safe change to
introduce a default timeout, even if that's more sane behavior.
As mentioned earlier, both the MySQL and MongoDB drivers support a
connection timeout option. MySQL uses 'connectTimeout' while MongoDB
uses 'connectTimeoutMS'. We went with 'connectTimeoutMS' as to not
introduce yet another name for a connection timeout, and because the
'MS' suffix makes it clearer what is expected.
We hope a future PR may adjust the MySQL connection options to adopt the
same name, but will leave that up to someone with a stronger opinion.
The "entitySchemas" connection option doesn't work. Instead, schemas are recognized when added to the "entities" connection option. The docs were updated to reflect that.
Some of listed variables are not used anymore, some were are missing.
List is extracted from src/connection/options-reader/ConnectionOptionsEnvReader.ts
The code examples assume many results (see a comment below in each example), but queries were filtered by user.id. Instead groupBy clausule should be used in order to select user.id after using aggregation function.
* docs: update many to many relations with custom properties
* updated "many-to-many relations with custom properties" docs
Co-authored-by: Umed Khudoiberdiev <pleerock.me@gmail.com>
* Add basic support for custom cache providers
* Rename 'cacheProvider' to 'cache'
* Update caching documentation
* Add CustomQueryResultCache example in caching.md
* Add custom cache provider test