Skip to content
This repository was archived by the owner on Mar 18, 2022. It is now read-only.

Commit c0c8dff

Browse files
committed
Squashed commit of the following:
commit 7623e890609610c1ea8cc6f98f70556267d8a8c6 Merge: 038c2edd 13ac222 Author: Petter Häggholm <petter@petterhaggholm.net> Date: Sat Sep 14 17:54:03 2019 -0700 bugfix commit 038c2edd31def7860e46e8f3c92cfc88d7e66c61 Author: Petter Häggholm <petter@petterhaggholm.net> Date: Sat Sep 14 14:22:35 2019 -0700 fix locking commit 13ac222 Author: Umed Khudoiberdiev <pleerock.me@gmail.com> Date: Fri Sep 13 23:20:36 2019 +0500 updated changelog commit ae1f131 Author: Umed Khudoiberdiev <pleerock.me@gmail.com> Date: Fri Sep 13 21:22:40 2019 +0500 version bump commit d8f1c81 Author: Roman <52884896+roman-acumen@users.noreply.github.com> Date: Fri Sep 13 18:12:23 2019 +0300 fix: sqlite connections don't ignore the schema property (typeorm#4599) commit 0094f61 Author: Dennie de Lange <dennie@tkvw.nl> Date: Fri Sep 13 16:58:20 2019 +0200 feat: add referenced table metadata to NamingStrategy to resolve foreign key name (typeorm#4274) Feature allows to use foreignkey metadata to generate database foreignkey names. Closes typeorm#3847 and typeorm#1355 commit 3abe5b9 Author: Toby Hinloopen <toby@bonaroo.nl> Date: Fri Sep 13 16:04:12 2019 +0200 fix: "hstore injection" & properly handle NULL, empty string, backslashes & quotes in hstore key/value pairs (typeorm#4720) * Improve HStore object support * Add hstore-injection test commit 644c21b Author: Muma David Bwalya <davidtheprogrammer42@gmail.com> Date: Fri Sep 13 12:32:22 2019 +0200 docs: explicitly defining the optional nature of the ManyToOne and OneToMany relationship when viewed from the child entity (typeorm#4722) * Update many-to-one-one-to-many-relations.md Explicitly defining the optional nature of the ManyToOne and OneToMany relationship when viewed from the child entity. * Update docs/many-to-one-one-to-many-relations.md Punctuation and more accurate semantics. Co-Authored-By: Toby Hinloopen <toby@bonaroo.nl> commit c52b3d2 Author: Evgeniy <evgesh1918@gmail.com> Date: Fri Sep 13 13:04:11 2019 +0300 fix: views generating broken Migrations (typeorm#4726) MigrationGenerateCommand didn't apply parameters to query and information about ViewTables couldn't be inserted into typeorm_metadata table. Also added code that creates typeorm_metadata table if ViewTables exists Fixed issue typeorm#4123 commit 1d73a90 Author: Ian Mobley <ianmobley@gmail.com> Date: Fri Sep 13 00:22:17 2019 -0700 fix: createQueryBuilder relation remove works only if using ID (typeorm#2632) (typeorm#4734) commit 81f4b43 Author: Alex Howard <thezanke@gmail.com> Date: Fri Sep 13 03:16:07 2019 -0400 docs: added missing comma in relations.md (typeorm#4739) commit 7808bba Author: Junggun Lim <junggun.lim@gmail.com> Date: Thu Sep 5 12:44:25 2019 -0700 feat: UpdateResult returns affected rows in postgresql (typeorm#4432) * Added 'affected' field in UpdateResult as well as in DeleteResult. * PostgresQueryRunner returns the number of affected rows properly * UpdateQueryBuilder retrieves the affected rows returned by PostgresQueryRunner and sets the added 'affected' field of UpdateResult properly. Closes: typeorm#1308 commit 7a0beed Author: Mophy Xiong <mophy.xh@gmail.com> Date: Fri Sep 6 03:33:39 2019 +0800 fix: the excessive stack depth comparing types `FindConditions<?>` and `FindConditions<?>` problem (typeorm#4470) commit dacac83 Author: Michał Wadas <michalwadas@gmail.com> Date: Thu Sep 5 21:28:56 2019 +0200 feat: add materialized View support for Postgres (typeorm#4478) feat: add option to synchronize or not to synchronize ViewEntity Fixes typeorm#4317 Fixes typeorm#3996 commit db8074a Author: Nicolas Hervé <nicolas.herve.pessac@gmail.com> Date: Thu Sep 5 19:42:52 2019 +0200 feat: add support for ON CONFLICT for cockroach (typeorm#4518) Closes: typeorm#4513 commit 19e2179 Author: hauau <hauau@users.noreply.github.com> Date: Fri Sep 6 00:38:54 2019 +0700 feat: add `set` datatype support for MySQL/MariaDB (typeorm#4538) Set possible values defined using existing enum column option. Sets are implemented as arrays. Closes: typeorm#2779 commit 5c311ed Author: David Chen <42685381+DavidChen-minted@users.noreply.github.com> Date: Thu Sep 5 08:50:10 2019 -0700 feat: add options to input init config for sql.js (typeorm#4560) * add options to input init config for sql.js * update changelog * updated connection-options docs commit 3cf470d Author: Aviad Hadad <aviadhadad@gmail.com> Date: Thu Sep 5 18:46:19 2019 +0300 fix: change PrimaryColumn decorator to clone passed options (typeorm#4571) Closes: typeorm#4570 commit 9e3d664 Author: Mike Guida <mike@mguida.com> Date: Thu Sep 5 08:38:41 2019 -0700 docs: clarify title of configuration sources (typeorm#4592) commit 587d534 Author: Thomas Gieling <thomas.gieling@gmail.com> Date: Thu Sep 5 17:37:43 2019 +0200 use remove in stead of delete (typeorm#4574) the `remove` method requires the entity itself as input. To remove a record based on it's id, you need to use `delete` commit a925be9 Author: Michał Wadas <michalwadas@gmail.com> Date: Thu Sep 5 16:05:23 2019 +0200 feat: add postgres pool error handler (typeorm#4474) Add option to customize pool error handling. Users can decide to log these errors with higher level (eg. error), crash application or reconnect. commit f65ecc7 Author: JB Reefer <james.reefer@gmail.com> Date: Thu Sep 5 09:10:10 2019 -0400 docs: grammar and wording fixes in active-record-data-mapper.md (typeorm#4615) Grammar and wording fixes in bottom paragraph commit 445c740 Author: Duckie <7842848+duckies@users.noreply.github.com> Date: Thu Sep 5 08:59:50 2019 -0400 fix: apostrophe in Postgres enum strings breaks query (typeorm#4631) * Patch to allow apostrophes in postgres enum string. * Make linter happy * Testing fix for MySQL * Limit to postgres and mysql, fix test description * Lets not be greedy. commit c1406bb Author: kevindashgit <friedheim.kevin@gmail.com> Date: Thu Sep 5 05:30:24 2019 -0700 docs: documentation for showMigrations() (typeorm#4644) commit 2478198 Author: azxj <31400828+azxj@users.noreply.github.com> Date: Thu Sep 5 20:29:23 2019 +0800 docs: remove duplicate segment in entities.md (typeorm#4638) Remove duplicate segment. commit 5bd29d5 Author: QoVoQ <674263588@qq.com> Date: Thu Sep 5 20:27:30 2019 +0800 docs: update many-to-many-relations.md, make it easier to understand (typeorm#4680) * Update many-to-many-relations.md Make the example of the last section `many-to-many relations with custom properties` more clear and general. * Update many-to-many-relations.md commit 92e4270 Author: Coroliov Oleg <1880059+ruscon@users.noreply.github.com> Date: Thu Sep 5 15:25:06 2019 +0300 feat: add mongodb `useUnifiedTopology` config parameter (typeorm#4684) commit 690e6f5 Author: CavidM <cavid2409@gmail.com> Date: Thu Sep 5 05:18:03 2019 -0700 fix: "database" option error in driver when use "url" option for connection commit e589fda Author: Michael Dzjaparidze <michael.dzjaparidze@gmail.com> Date: Tue Sep 3 15:05:58 2019 +0200 feat: export additional schema builder classes (typeorm#4325) commit 3951b58 Author: David Podhola <david.podhola@naseukoly.cz> Date: Sat Aug 31 23:39:04 2019 +0200 docs: fix missing async (typeorm#4458) In the second example the lambda is correctly started with an `async`. It is missing in the first example. commit d4e2443 Author: Kateile <sylvanuskateile@gmail.com> Date: Sat Aug 31 21:26:44 2019 +0300 docs: update typeorm-model-shim.js comment link (typeorm#4540) This link http://webpack.github.io/docs/configuration.html#resolve no longer exist commit 4c2bffc Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Aug 30 23:43:04 2019 +0200 chore: bump lodash from 4.17.11 to 4.17.15 (typeorm#4671) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.15. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.11...4.17.15) Signed-off-by: dependabot[bot] <support@github.com> commit 10bac1f Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Aug 30 23:35:40 2019 +0200 build: bump mixin-deep from 1.3.1 to 1.3.2 (typeorm#4648) Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2. - [Release notes](https://github.com/jonschlinkert/mixin-deep/releases) - [Commits](jonschlinkert/mixin-deep@1.3.1...1.3.2) Signed-off-by: dependabot[bot] <support@github.com> commit e81a77a Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Aug 30 23:33:36 2019 +0200 chore: bump lodash.template from 4.4.0 to 4.5.0 (typeorm#4416) Bumps [lodash.template](https://github.com/lodash/lodash) from 4.4.0 to 4.5.0. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.4.0...4.5.0) Signed-off-by: dependabot[bot] <support@github.com> commit 00d46e1 Author: JB Reefer <james.reefer@gmail.com> Date: Sat Aug 24 05:08:26 2019 -0400 docs: Update using-cli.md (typeorm#4618) Fix typo commit d1594f5 Author: Abhijeet Chakraborty <16278759+abhijeet1403@users.noreply.github.com> Date: Wed Aug 14 14:01:48 2019 +0530 fix: resolve issue with conversion string to simple-json (typeorm#4476) Closes: typeorm#4440 commit c321562 Author: Arseny Yankovsky <ArsenyYankovsky@users.noreply.github.com> Date: Tue Aug 13 10:12:25 2019 +0200 feat: Aurora Data API (typeorm#4375) * Initial POC Implementation * Initial POC Implementation * Implemented an interface transformation between typeorm and data api so most of the queries should work, added some tests * Fixed lint errors * Fixed a regex and added some tests on query transformation * Move out to a separate repo * Bumped aurora driver version to latest * Bumped aurora driver version to latest * Delegate transactions to the driver * Delegate transactions to the driver * WIP * WIP * Bump the aurora driver version * Bump the aurora driver version * Fixed aurora driver version * removed unused entity commit b4e9cf0 Author: Marcos <holamarcosaurios@gmail.com> Date: Wed Aug 7 11:35:11 2019 +0200 docs: update typo in separating-entity-definition.md Typo in line 190: "Categeory" changed to "Category" commit 9930283 Author: Charlie Cruzan <35579283+cruzach@users.noreply.github.com> Date: Wed Aug 7 05:33:42 2019 -0400 docs: update outdated Expo SQLite link * update Expo SQLite link * docs: fix expo-example repo link commit 5e00e81 Author: Humberto Villalpando <43765965+betov18x@users.noreply.github.com> Date: Wed Jul 31 06:47:36 2019 -0500 chore: Update README.md Added some links for nativescript examples with vue and angular commit 10a5182 Author: markamPL <markam.tg@gmail.com> Date: Wed Jul 24 09:00:47 2019 +0200 docs: update typo in using-ormconfig.md Typo in .env configuration: .*js changed to *.js commit b6d6278 Author: Liau Jian Jie <liaujianjie@gmail.com> Date: Sun Jul 21 22:10:53 2019 +0800 feat: add multi-dimensional cube support for PostgreSQL (typeorm#4378) commit e12479e Author: Abdoulaye K. Traoré <abdoulayekt@hotmail.com> Date: Sat Jul 13 18:57:16 2019 +0200 feat: log files loaded from glob patterns (typeorm#4346) This new feature logs the files that are loaded using the glob patterns to aid in debugging. Closes: typeorm#4162 commit c8dbf09 Author: Mike Harris <mharris717@gmail.com> Date: Wed Jul 10 09:17:31 2019 -0400 docs: Fix Typo (typeorm#4412) commit a858de1 Author: Vlad Poluch <vlad.poluch@gmail.com> Date: Mon Jul 1 16:01:09 2019 +0200 Revert "docs: fix typographical error in faq (typeorm#4321)" (typeorm#4380) This reverts commit 117185b. commit 39a8e34 Author: Benjamin Dobell <benjamin.dobell+github@glassechidna.com.au> Date: Mon Jul 1 01:18:55 2019 +1000 feat: Added support for DISTINCT queries (typeorm#4109) commit c8a9ea0 Author: Max Sommer <kontakt@maxsommer.de> Date: Sun Jun 30 17:12:07 2019 +0200 docs: add explanation ManyToMany with custom properties (typeorm#4308) * Add explanation ManyToMany with custom properties Since I myself ran into the issue and had to rewrite my code based on this solution I hope it may be helpful for others as well 😊 * Update explanation with more relateable example Update explanation with abstract example to be more relateable Add cross link to faq * Update phrasing, unnecessary explanation and code Remove unnecessary explanation upfront mentioning FAQ Update phrasing of main explanatory paragraph to be more precise Update code example to work correctly commit 79bf9f7 Author: Kononnable <kononnable@gmail.com> Date: Sun Jun 30 17:11:06 2019 +0200 build: node version upgrade in travis (typeorm#4312) * upgrading node CI tested versions * sqlite3 version upgrade commit a6d7ba2 Author: Leonardo Falk <leonardofalk@users.noreply.github.com> Date: Sun Jun 30 12:07:19 2019 -0300 fix: add SaveOptions and RemoveOptions into ActiveRecord (typeorm#4318) * Adding SaveOptions to BaseEntity#save * Adding RemoveOptions to BaseEntity#remove commit 684ffd1 Merge: 6429ccd 6a1206e Author: Umed Khudoiberdiev <pleerock.me@gmail.com> Date: Sun Jun 30 14:39:21 2019 +0300 Merge pull request typeorm#4376 from typeorm/revert-4306-fix-4291 Revert "fix: improve sql.js v1.0 support in browser environment" commit 6a1206e Author: Umed Khudoiberdiev <pleerock.me@gmail.com> Date: Sun Jun 30 14:38:54 2019 +0300 Revert "fix: improve sql.js v1.0 support in browser environment" commit 6429ccd Merge: 117185b ed87e34 Author: Umed Khudoiberdiev <pleerock.me@gmail.com> Date: Sun Jun 30 14:00:46 2019 +0300 Merge pull request typeorm#4306 from michaelbromley/fix-4291 fix: improve sql.js v1.0 support in browser environment commit 117185b Author: SriNath <12288245+SrChip15@users.noreply.github.com> Date: Wed Jun 19 09:13:47 2019 -0400 docs: fix typographical error in faq (typeorm#4321) change "typedi" to "typed" in how to use TypeORM with a dependency injection tool question commit ed87e34 Author: Michael Bromley <michael@michaelbromley.co.uk> Date: Tue Jun 18 10:25:35 2019 +0200 Add more documentation on using sql.js in the browser commit f7bcd8f Author: Michael Bromley <michael@michaelbromley.co.uk> Date: Tue Jun 18 10:05:04 2019 +0200 Fix sql.js v1.0 support in browser
1 parent d45863c commit c0c8dff

File tree

108 files changed

+3944
-249
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+3944
-249
lines changed

.travis.yml

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
language: node_js
22
node_js:
3-
# - stable
3+
- 12
44
- 10
5-
- 9
65
- 8
7-
# - 6
8-
# - 4
9-
# - 0.12
10-
# - 0.11
116

127
services:
138
- docker

CHANGELOG.md

+32-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,36 @@
1-
# Changelog
1+
## [0.2.19](https://github.com/typeorm/typeorm/compare/0.2.18...0.2.19) (2019-09-13)
22

3-
TypeORM follows a semantic versioning and until `1.0.0` breaking changes may appear in `0.x.x` versions,
4-
however since API is already quite stable we don't expect too much breaking changes.
5-
If we missed a note on some change or you have a questions on migrating from old version,
6-
feel free to ask us and community.
3+
### Bug Fixes
4+
5+
* "database" option error in driver when use "url" option for connection ([690e6f5](https://github.com/typeorm/typeorm/commit/690e6f5))
6+
* "hstore injection" & properly handle NULL, empty string, backslashes & quotes in hstore key/value pairs ([#4720](https://github.com/typeorm/typeorm/issues/4720)) ([3abe5b9](https://github.com/typeorm/typeorm/commit/3abe5b9))
7+
* add SaveOptions and RemoveOptions into ActiveRecord ([#4318](https://github.com/typeorm/typeorm/issues/4318)) ([a6d7ba2](https://github.com/typeorm/typeorm/commit/a6d7ba2))
8+
* apostrophe in Postgres enum strings breaks query ([#4631](https://github.com/typeorm/typeorm/issues/4631)) ([445c740](https://github.com/typeorm/typeorm/commit/445c740))
9+
* change PrimaryColumn decorator to clone passed options ([#4571](https://github.com/typeorm/typeorm/issues/4571)) ([3cf470d](https://github.com/typeorm/typeorm/commit/3cf470d)), closes [#4570](https://github.com/typeorm/typeorm/issues/4570)
10+
* createQueryBuilder relation remove works only if using ID ([#2632](https://github.com/typeorm/typeorm/issues/2632)) ([#4734](https://github.com/typeorm/typeorm/issues/4734)) ([1d73a90](https://github.com/typeorm/typeorm/commit/1d73a90))
11+
* resolve issue with conversion string to simple-json ([#4476](https://github.com/typeorm/typeorm/issues/4476)) ([d1594f5](https://github.com/typeorm/typeorm/commit/d1594f5)), closes [#4440](https://github.com/typeorm/typeorm/issues/4440)
12+
* sqlite connections don't ignore the schema property ([#4599](https://github.com/typeorm/typeorm/issues/4599)) ([d8f1c81](https://github.com/typeorm/typeorm/commit/d8f1c81))
13+
* the excessive stack depth comparing types `FindConditions<?>` and `FindConditions<?>` problem ([#4470](https://github.com/typeorm/typeorm/issues/4470)) ([7a0beed](https://github.com/typeorm/typeorm/commit/7a0beed))
14+
* views generating broken Migrations ([#4726](https://github.com/typeorm/typeorm/issues/4726)) ([c52b3d2](https://github.com/typeorm/typeorm/commit/c52b3d2)), closes [#4123](https://github.com/typeorm/typeorm/issues/4123)
15+
16+
17+
### Features
718

8-
## 0.2.18 (UNRELEASED)
19+
* add `set` datatype support for MySQL/MariaDB ([#4538](https://github.com/typeorm/typeorm/issues/4538)) ([19e2179](https://github.com/typeorm/typeorm/commit/19e2179)), closes [#2779](https://github.com/typeorm/typeorm/issues/2779)
20+
* add materialized View support for Postgres ([#4478](https://github.com/typeorm/typeorm/issues/4478)) ([dacac83](https://github.com/typeorm/typeorm/commit/dacac83)), closes [#4317](https://github.com/typeorm/typeorm/issues/4317) [#3996](https://github.com/typeorm/typeorm/issues/3996)
21+
* add mongodb `useUnifiedTopology` config parameter ([#4684](https://github.com/typeorm/typeorm/issues/4684)) ([92e4270](https://github.com/typeorm/typeorm/commit/92e4270))
22+
* add multi-dimensional cube support for PostgreSQL ([#4378](https://github.com/typeorm/typeorm/issues/4378)) ([b6d6278](https://github.com/typeorm/typeorm/commit/b6d6278))
23+
* add options to input init config for sql.js ([#4560](https://github.com/typeorm/typeorm/issues/4560)) ([5c311ed](https://github.com/typeorm/typeorm/commit/5c311ed))
24+
* add postgres pool error handler ([#4474](https://github.com/typeorm/typeorm/issues/4474)) ([a925be9](https://github.com/typeorm/typeorm/commit/a925be9))
25+
* add referenced table metadata to NamingStrategy to resolve foreign key name ([#4274](https://github.com/typeorm/typeorm/issues/4274)) ([0094f61](https://github.com/typeorm/typeorm/commit/0094f61)), closes [#3847](https://github.com/typeorm/typeorm/issues/3847) [#1355](https://github.com/typeorm/typeorm/issues/1355)
26+
* add support for ON CONFLICT for cockroach ([#4518](https://github.com/typeorm/typeorm/issues/4518)) ([db8074a](https://github.com/typeorm/typeorm/commit/db8074a)), closes [#4513](https://github.com/typeorm/typeorm/issues/4513)
27+
* Added support for DISTINCT queries ([#4109](https://github.com/typeorm/typeorm/issues/4109)) ([39a8e34](https://github.com/typeorm/typeorm/commit/39a8e34))
28+
* Aurora Data API ([#4375](https://github.com/typeorm/typeorm/issues/4375)) ([c321562](https://github.com/typeorm/typeorm/commit/c321562))
29+
* export additional schema builder classes ([#4325](https://github.com/typeorm/typeorm/issues/4325)) ([e589fda](https://github.com/typeorm/typeorm/commit/e589fda))
30+
* log files loaded from glob patterns ([#4346](https://github.com/typeorm/typeorm/issues/4346)) ([e12479e](https://github.com/typeorm/typeorm/commit/e12479e)), closes [#4162](https://github.com/typeorm/typeorm/issues/4162)
31+
* UpdateResult returns affected rows in postgresql ([#4432](https://github.com/typeorm/typeorm/issues/4432)) ([7808bba](https://github.com/typeorm/typeorm/commit/7808bba)), closes [#1308](https://github.com/typeorm/typeorm/issues/1308)
32+
33+
## 0.2.18
934

1035
### Bug fixes
1136

@@ -24,6 +49,7 @@ feel free to ask us and community.
2449
* extend afterLoad() subscriber interface to take LoadEvent ([issue #4185](https://github.com/typeorm/typeorm/issues/4185))
2550
* relation decorators (e.g. `@OneToMany`) now also accept `string` instead of `typeFunction`, which prevents circular dependency issues in the frontend/browser ([issue #4190](https://github.com/typeorm/typeorm/issues/4190))
2651
* added support for metadata reflection in typeorm-class-transformer-shim.js ([issue #4219](https://github.com/typeorm/typeorm/issues/4219))
52+
* added `sqlJsConfig` to input config when initializing sql.js ([issue #4559](https://github.com/typeorm/typeorm/issues/4559))
2753

2854
## 0.2.17 (2019-05-01)
2955

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -1261,6 +1261,8 @@ There are a few repositories which you can clone and start with:
12611261
* [Example how to use TypeORM in a Cordova/PhoneGap app](https://github.com/typeorm/cordova-example)
12621262
* [Example how to use TypeORM with an Ionic app](https://github.com/typeorm/ionic-example)
12631263
* [Example how to use TypeORM with React Native](https://github.com/typeorm/react-native-example)
1264+
* [Example how to use TypeORM with Nativescript-Vue](https://github.com/typeorm/nativescript-vue-typeorm-sample)
1265+
* [Example how to use TypeORM with Nativescript-Angular](https://github.com/betov18x/nativescript-angular-typeorm-example)
12641266
* [Example how to use TypeORM with Electron using JavaScript](https://github.com/typeorm/electron-javascript-example)
12651267
* [Example how to use TypeORM with Electron using TypeScript](https://github.com/typeorm/electron-typescript-example)
12661268

docs/active-record-data-mapper.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ Learn more about [custom repositories](custom-repository.md).
185185
The decision is up to you.
186186
Both strategies have their own cons and pros.
187187

188-
One thing we should always keep in mind in software development is how we are going to maintain it.
189-
The `Data Mapper` approach helps you with maintainability of your software which is more effective in bigger apps.
190-
The `Active record` approach helps you to keep things simple which works good in small apps.
188+
One thing we should always keep in mind in with software development is how we are going to maintain our applications.
189+
The `Data Mapper` approach helps with maintainability, which is more effective in bigger apps.
190+
The `Active record` approach helps keep things simple which works well in smaller apps.
191191
And simplicity is always a key to better maintainability.

docs/connection-options.md

+6
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,8 @@ See [SSL options](https://github.com/mysqljs/mysql#ssl-options).
180180

181181
* `uuidExtension` - The Postgres extension to use when generating UUIDs. Defaults to `uuid-ossp`. Can be changed to `pgcrypto` if the `uuid-ossp` extension is unavailable.
182182

183+
* `poolErrorHandler` - A function that get's called when underlying pool emits `'error'` event. Takes single parameter (error instance) and defaults to logging with `warn` level.
184+
183185
## `sqlite` connection options
184186

185187
* `database` - Database path. For example "./mydb.sql"
@@ -258,6 +260,8 @@ See [SSL options](https://github.com/mysqljs/mysql#ssl-options).
258260
* `pool.idleTimeoutMillis` - the minimum amount of time that an object may sit idle in the pool before it is eligible for
259261
eviction due to idle time. Supersedes `softIdleTimeoutMillis`. Default: `30000`.
260262

263+
* `pool.errorHandler` - A function that get's called when underlying pool emits `'error'` event. Takes single parameter (error instance) and defaults to logging with `warn` level.
264+
261265
* `options.fallbackToDefaultDb` - By default, if the database requestion by `options.database` cannot be accessed, the connection
262266
will fail with an error. However, if `options.fallbackToDefaultDb` is set to `true`, then the user's default database will
263267
be used instead (Default: `false`).
@@ -461,6 +465,8 @@ See [SSL options](https://github.com/mysqljs/mysql#ssl-options).
461465

462466
* `database`: The raw UInt8Array database that should be imported.
463467

468+
* `sqlJsConfig`: Optional initialize config for sql.js.
469+
464470
* `autoSave`: Whether or not autoSave should be disabled. If set to true the database will be saved to the given file location (Node.js) or LocalStorage element (browser) when a change happens and `location` is specified. Otherwise `autoSaveCallback` can be used.
465471

466472
* `autoSaveCallback`: A function that get's called when changes to the database are made and `autoSave` is enabled. The function gets a `UInt8Array` that represents the database.

docs/entities.md

+48-2
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ or
294294
`bit`, `int`, `integer`, `tinyint`, `smallint`, `mediumint`, `bigint`, `float`, `double`,
295295
`double precision`, `dec`, `decimal`, `numeric`, `fixed`, `bool`, `boolean`, `date`, `datetime`,
296296
`timestamp`, `time`, `year`, `char`, `nchar`, `national char`, `varchar`, `nvarchar`, `national varchar`,
297-
`text`, `tinytext`, `mediumtext`, `blob`, `longtext`, `tinyblob`, `mediumblob`, `longblob`, `enum`,
297+
`text`, `tinytext`, `mediumtext`, `blob`, `longtext`, `tinyblob`, `mediumblob`, `longblob`, `enum`, `set`,
298298
`json`, `binary`, `varbinary`, `geometry`, `point`, `linestring`, `polygon`, `multipoint`, `multilinestring`,
299299
`multipolygon`, `geometrycollection`
300300

@@ -307,7 +307,7 @@ or
307307
`date`, `time`, `time without time zone`, `time with time zone`, `interval`, `bool`, `boolean`,
308308
`enum`, `point`, `line`, `lseg`, `box`, `path`, `polygon`, `circle`, `cidr`, `inet`, `macaddr`,
309309
`tsvector`, `tsquery`, `uuid`, `xml`, `json`, `jsonb`, `int4range`, `int8range`, `numrange`,
310-
`tsrange`, `tstzrange`, `daterange`, `geometry`, `geography`
310+
`tsrange`, `tstzrange`, `daterange`, `geometry`, `geography`, `cube`
311311

312312
### Column types for `cockroachdb`
313313

@@ -390,6 +390,52 @@ export class User {
390390
}
391391
```
392392

393+
### `set` column type
394+
395+
`set` column type is supported by `mariadb` and `mysql`. There are various possible column definitions:
396+
397+
Using typescript enums:
398+
```typescript
399+
export enum UserRole {
400+
ADMIN = "admin",
401+
EDITOR = "editor",
402+
GHOST = "ghost"
403+
}
404+
405+
@Entity()
406+
export class User {
407+
408+
@PrimaryGeneratedColumn()
409+
id: number;
410+
411+
@Column({
412+
type: "set",
413+
enum: UserRole,
414+
default: [UserRole.GHOST, UserRole.EDITOR]
415+
})
416+
roles: UserRole[]
417+
418+
}
419+
```
420+
421+
Using array with `set` values:
422+
```typescript
423+
export type UserRoleType = "admin" | "editor" | "ghost",
424+
425+
@Entity()
426+
export class User {
427+
428+
@PrimaryGeneratedColumn()
429+
id: number;
430+
431+
@Column({
432+
type: "set",
433+
enum: ["admin", "editor", "ghost"],
434+
default: ["ghost", "editor"]
435+
})
436+
roles: UserRoleType[]
437+
}
438+
```
393439

394440
### `simple-array` column type
395441

docs/example-with-express.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ createConnection().then(connection => {
233233
});
234234

235235
app.delete("/users/:id", async function(req: Request, res: Response) {
236-
const results = await userRepository.remove(req.params.id);
236+
const results = await userRepository.delete(req.params.id);
237237
return res.send(results);
238238
});
239239

docs/faq.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ join column / junction table settings, like join column name or junction table n
131131
It's not possible to add extra columns into a table created by a many-to-many relation.
132132
You'll need to create a separate entity and bind it using two many-to-one relations with the target entities
133133
(the effect will be same as creating a many-to-many table),
134-
and add extra columns in there.
134+
and add extra columns in there. You can read more about this in [Many-to-Many relations](./many-to-many-relations.md#many-to-many-relations-with-custom-properties).
135135

136136
## How to use TypeORM with a dependency injection tool?
137137

docs/many-to-many-relations.md

+47
Original file line numberDiff line numberDiff line change
@@ -169,3 +169,50 @@ const categoriesWithQuestions = await connection
169169
.leftJoinAndSelect("category.questions", "question")
170170
.getMany();
171171
```
172+
173+
## many-to-many relations with custom properties
174+
175+
In case you need to have additional properties to your many-to-many relationship you have to create a new entity yourself.
176+
For example if you would like entities `Post` and `Category` to have a many-to-many relationship with a `createdAt` property
177+
associated to it you have to create entity `PostToCategory` like the following:
178+
179+
```typescript
180+
import { Entity, Column, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
181+
import { Post } from "./post";
182+
import { Category } from "./category";
183+
184+
@Entity()
185+
export class PostToCategory {
186+
@PrimaryGeneratedColumn()
187+
public postToCategoryId!: number;
188+
189+
@Column()
190+
public postId!: number;
191+
192+
@Column()
193+
public categoryId!: number;
194+
195+
@Column()
196+
public order!: number;
197+
198+
@ManyToOne(type => Post, post => post.postToCategories)
199+
public post!: Post;
200+
201+
@ManyToOne(type => Category, category => category.postToCategories)
202+
public category!: Category;
203+
}
204+
```
205+
206+
Additionally you will have to add a relationship like the following to `Post` and `Category`:
207+
208+
```typescript
209+
// category.ts
210+
...
211+
@OneToMany((type) => PostToCategory, (postToCategory) => postToCategory.category)
212+
public postToCategories!: PostToCategory[];
213+
214+
// post.ts
215+
...
216+
@OneToMany((type) => PostToCategory, (postToCategory) => postToCategory.post)
217+
public postToCategories!: PostToCategory[];
218+
```

docs/many-to-one-one-to-many-relations.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export class User {
4545
Here we added `@OneToMany` to the `photos` property and specified the target relation type to be `Photo`.
4646
You can omit `@JoinColumn` in a `@ManyToOne` / `@OneToMany` relation.
4747
`@OneToMany` cannot exist without `@ManyToOne`.
48-
If you want to use `@OneToMany`, `@ManyToOne` is required.
48+
If you want to use `@OneToMany`, `@ManyToOne` is required. However, the inverse is not required: If you only care about the `@ManyToOne` relationship, you can define it without having `@OneToMany` on the related entity.
4949
Where you set `@ManyToOne` - its related entity will have "relation id" and foreign key.
5050

5151
This example will produce following tables:

docs/relations.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ You can also change the name of the generated "junction" table.
141141
```typescript
142142
@ManyToMany(type => Category)
143143
@JoinTable({
144-
name: "question_categories" // table name for the junction table of this relation
144+
name: "question_categories", // table name for the junction table of this relation
145145
joinColumn: {
146146
name: "question",
147147
referencedColumnName: "id"

docs/select-query-builder.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ Which will produce:
304304
SELECT ... FROM users user WHERE user.name = 'Timber'
305305
```
306306

307-
You can add `AND` into an exist `WHERE` expression:
307+
You can add `AND` into an existing `WHERE` expression:
308308

309309
```typescript
310310
createQueryBuilder("user")

docs/separating-entity-definition.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ export const CategoryEntity = new EntitySchema<Category>({
187187
});
188188
```
189189

190-
Be sure to add the `extended` columns also to the `Categeory` interface (e.g., via `export interface Category extend BaseEntity`).
190+
Be sure to add the `extended` columns also to the `Category` interface (e.g., via `export interface Category extend BaseEntity`).
191191

192192
## Using Schemas to Query / Insert Data
193193

docs/supported-platforms.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ TypeORM is able to on React Native apps using the [react-native-sqlite-storage](
6363

6464
## Expo
6565

66-
TypeORM is able to run on Expo apps using the [Expo SQLite API](https://docs.expo.io/versions/latest/sdk/sqlite.html). For an example how to use TypeORM in Expo see [typeorm/react-native-example](https://github.com/typeorm/react-native-example).
66+
TypeORM is able to run on Expo apps using the [Expo SQLite API](https://docs.expo.io/versions/latest/sdk/sqlite/). For an example how to use TypeORM in Expo see [typeorm/expo-example](https://github.com/typeorm/expo-example).
6767

6868
## NativeScript
6969

docs/transactions.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Examples:
1313
```typescript
1414
import {getConnection} from "typeorm";
1515

16-
await getConnection().transaction(transactionalEntityManager => {
16+
await getConnection().transaction(async transactionalEntityManager => {
1717

1818
});
1919
```
@@ -23,7 +23,7 @@ or
2323
```typescript
2424
import {getManager} from "typeorm";
2525

26-
await getManager().transaction(transactionalEntityManager => {
26+
await getManager().transaction(async transactionalEntityManager => {
2727

2828
});
2929
```

docs/troubleshooting.md

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Troubleshooting
2+
3+
* [Glob patterns](#glob-patterns)
4+
5+
## Glob Patterns
6+
7+
Glob patterns are used in the TypeOrm to specify the locations of entities, migrations, subscriber and other information. Errors in the patterns can lead to the common `RepositoryNotFoundError` and familiar errors. In order to check if any files were loaded by TypeOrm using the glob patterns, all you need to do is set the logging level to `info` such as explained in the [Logging](./logging.md) section of the documentation. This will allow you to have logs in the console that may look like this:
8+
9+
```bash
10+
# in case of an error
11+
INFO: No classes were found using the provided glob pattern: "dist/**/*.entity{.ts}"
12+
```
13+
```bash
14+
# when files are found
15+
INFO: All classes found using provided glob pattern "dist/**/*.entity{.js,.ts}" : "dist/app/user/user.entity.js | dist/app/common/common.entity.js"
16+
```

docs/using-cli.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* [Create a new entity](#create-a-new-entity)
66
* [Create a new subscriber](#create-a-new-subscriber)
77
* [Create a new migration](#create-a-new-migration)
8-
* [Generate a migration from exist table schema](#generate-a-migration-from-exist-table-schema)
8+
* [Generate a migration from existing table schema](#generate-a-migration-from-exist-table-schema)
99
* [Run migrations](#run-migrations)
1010
* [Revert migrations](#revert-migrations)
1111
* [Show migrations](#show-migrations)
@@ -196,7 +196,7 @@ typeorm migration:create -n UserMigration -d src/user/migration
196196

197197
Learn more about [Migrations](./migrations.md).
198198

199-
## Generate a migration from exist table schema
199+
## Generate a migration from existing table schema
200200

201201
Automatic migration generation creates a new migration file
202202
and writes all sql queries that must be executed to update the database.

docs/using-ormconfig.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# ormconfig.json
1+
# Using Configuration Sources
22

33
- [Creating a new connection from the configuration file](#creating-a-new-connection-from-the-configuration-file)
44
- [Using `ormconfig.json`](#using-ormconfigjson)
@@ -96,7 +96,7 @@ TYPEORM_DATABASE = test
9696
TYPEORM_PORT = 3000
9797
TYPEORM_SYNCHRONIZE = true
9898
TYPEORM_LOGGING = true
99-
TYPEORM_ENTITIES = entity/.*js,modules/**/entity/.*js
99+
TYPEORM_ENTITIES = entity/*.js,modules/**/entity/*.js
100100
```
101101

102102
List of available env variables you can set:

docs/zh_CN/connection-options.md

+2
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,8 @@
372372

373373
- `database`: 应导入的原始 UInt8Array 数据库。
374374

375+
- `sqlJsConfig`: sql.js可选启动配置
376+
375377
- `autoSave`: 是否应禁用 autoSave。如果设置为 true,则在发生更改并指定`location`时,数据库将保存到给定的文件位置(Node.js)或 LocalStorage(浏览器)。否则可以使用`autoSaveCallback`
376378

377379
- `autoSaveCallback`: 在对数据库进行更改并启用`autoSave`时调用的函数。该函数获取表示数据库的`UInt8Array`

0 commit comments

Comments
 (0)