@aws-amplify/graphql-model-transformer 1.4.0-rds.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -1
- package/lib/definitions.d.ts.map +1 -1
- package/lib/definitions.js +28 -2
- package/lib/definitions.js.map +1 -1
- package/lib/graphql-model-transformer.d.ts.map +1 -1
- package/lib/graphql-model-transformer.js +38 -36
- package/lib/graphql-model-transformer.js.map +1 -1
- package/lib/graphql-types/common.d.ts.map +1 -1
- package/lib/graphql-types/common.js +16 -18
- package/lib/graphql-types/common.js.map +1 -1
- package/lib/graphql-types/mutation.d.ts.map +1 -1
- package/lib/graphql-types/mutation.js +12 -12
- package/lib/graphql-types/mutation.js.map +1 -1
- package/lib/graphql-types/query.d.ts.map +1 -1
- package/lib/graphql-types/query.js.map +1 -1
- package/lib/rds-lambda.zip +0 -0
- package/lib/rds-notification-lambda.zip +0 -0
- package/lib/rds-patching-lambda.zip +0 -0
- package/lib/resolvers/common.d.ts.map +1 -1
- package/lib/resolvers/common.js.map +1 -1
- package/lib/resolvers/dynamodb/mutation.d.ts.map +1 -1
- package/lib/resolvers/dynamodb/mutation.js +10 -8
- package/lib/resolvers/dynamodb/mutation.js.map +1 -1
- package/lib/resolvers/dynamodb/query.d.ts.map +1 -1
- package/lib/resolvers/dynamodb/query.js +1 -4
- package/lib/resolvers/dynamodb/query.js.map +1 -1
- package/lib/resolvers/dynamodb/subscriptions.d.ts.map +1 -1
- package/lib/resolvers/dynamodb/subscriptions.js.map +1 -1
- package/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
- package/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
- package/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
- package/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
- package/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
- package/lib/resolvers/index.d.ts.map +1 -1
- package/lib/resolvers/index.js.map +1 -1
- package/lib/resolvers/rds/mutation.d.ts.map +1 -1
- package/lib/resolvers/rds/mutation.js.map +1 -1
- package/lib/resolvers/rds/query.d.ts.map +1 -1
- package/lib/resolvers/rds/query.js.map +1 -1
- package/lib/resolvers/rds/resolver.d.ts +2 -2
- package/lib/resolvers/rds/resolver.d.ts.map +1 -1
- package/lib/resolvers/rds/resolver.js +83 -83
- package/lib/resolvers/rds/resolver.js.map +1 -1
- package/lib/resources/dynamo-model-resource-generator.d.ts +1 -1
- package/lib/resources/dynamo-model-resource-generator.d.ts.map +1 -1
- package/lib/resources/dynamo-model-resource-generator.js +2 -2
- package/lib/resources/dynamo-model-resource-generator.js.map +1 -1
- package/lib/resources/model-resource-generator.d.ts.map +1 -1
- package/lib/resources/model-resource-generator.js +15 -7
- package/lib/resources/model-resource-generator.js.map +1 -1
- package/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
- package/lib/resources/rds-model-resource-generator.js +1 -1
- package/lib/resources/rds-model-resource-generator.js.map +1 -1
- package/package.json +17 -8
- package/publish-notification-lambda/node_modules/.package-lock.json +13 -13
- package/publish-notification-lambda/node_modules/@smithy/protocol-http/package.json +3 -3
- package/publish-notification-lambda/node_modules/@smithy/types/package.json +2 -2
- package/publish-notification-lambda/node_modules/@types/node/README.md +1 -1
- package/publish-notification-lambda/node_modules/@types/node/package.json +2 -2
- package/publish-notification-lambda/node_modules/tslib/package.json +1 -1
- package/publish-notification-lambda/node_modules/tslib/tslib.es6.mjs +50 -1
- package/publish-notification-lambda/package-lock.json +13 -13
- package/publish-notification-lambda/src/index.ts +2 -2
- package/publish-notification-lambda/tsconfig.json +9 -9
- package/rds-lambda/handler.ts +17 -4
- package/rds-lambda/node_modules/.package-lock.json +376 -377
- package/rds-lambda/node_modules/@babel/compat-data/README.md +1 -1
- package/rds-lambda/node_modules/@babel/compat-data/data/corejs2-built-ins.json +146 -0
- package/rds-lambda/node_modules/@babel/compat-data/data/native-modules.json +1 -1
- package/rds-lambda/node_modules/@babel/compat-data/data/plugin-bugfixes.json +17 -0
- package/rds-lambda/node_modules/@babel/compat-data/data/plugins.json +76 -9
- package/rds-lambda/node_modules/@babel/compat-data/package.json +4 -4
- package/rds-lambda/node_modules/@babel/core/README.md +1 -1
- package/rds-lambda/node_modules/@babel/core/package.json +10 -10
- package/rds-lambda/node_modules/@babel/generator/README.md +1 -1
- package/rds-lambda/node_modules/@babel/generator/package.json +4 -3
- package/rds-lambda/node_modules/@babel/helper-compilation-targets/README.md +1 -1
- package/rds-lambda/node_modules/@babel/helper-compilation-targets/package.json +5 -5
- package/rds-lambda/node_modules/@babel/helper-module-transforms/README.md +1 -1
- package/rds-lambda/node_modules/@babel/helper-module-transforms/package.json +10 -6
- package/rds-lambda/node_modules/@babel/helper-split-export-declaration/README.md +1 -1
- package/rds-lambda/node_modules/@babel/helper-split-export-declaration/package.json +1 -1
- package/rds-lambda/node_modules/@babel/helpers/README.md +1 -1
- package/rds-lambda/node_modules/@babel/helpers/package.json +3 -3
- package/rds-lambda/node_modules/@babel/parser/README.md +1 -1
- package/rds-lambda/node_modules/@babel/parser/package.json +2 -2
- package/rds-lambda/node_modules/@babel/traverse/README.md +1 -1
- package/rds-lambda/node_modules/@babel/traverse/package.json +4 -4
- package/rds-lambda/node_modules/@jest/console/package.json +6 -6
- package/rds-lambda/node_modules/@jest/core/package.json +21 -21
- package/rds-lambda/node_modules/@jest/environment/package.json +5 -5
- package/rds-lambda/node_modules/@jest/expect/package.json +6 -6
- package/rds-lambda/node_modules/@jest/expect-utils/package.json +5 -5
- package/rds-lambda/node_modules/@jest/fake-timers/package.json +7 -7
- package/rds-lambda/node_modules/@jest/globals/package.json +6 -6
- package/rds-lambda/node_modules/@jest/reporters/package.json +14 -14
- package/rds-lambda/node_modules/@jest/schemas/package.json +3 -3
- package/rds-lambda/node_modules/@jest/source-map/package.json +3 -3
- package/rds-lambda/node_modules/@jest/test-result/package.json +6 -6
- package/rds-lambda/node_modules/@jest/test-sequencer/package.json +5 -5
- package/rds-lambda/node_modules/@jest/transform/package.json +7 -7
- package/rds-lambda/node_modules/@jest/types/package.json +5 -5
- package/rds-lambda/node_modules/@sinclair/typebox/package.json +3 -8
- package/rds-lambda/node_modules/@sinclair/typebox/readme.md +487 -300
- package/rds-lambda/node_modules/@smithy/protocol-http/package.json +3 -3
- package/rds-lambda/node_modules/@smithy/types/package.json +2 -2
- package/rds-lambda/node_modules/@types/jest/README.md +1 -1
- package/rds-lambda/node_modules/@types/jest/package.json +2 -2
- package/rds-lambda/node_modules/@types/node/README.md +1 -1
- package/rds-lambda/node_modules/@types/node/package.json +2 -2
- package/rds-lambda/node_modules/babel-jest/package.json +4 -4
- package/rds-lambda/node_modules/caniuse-lite/package.json +1 -1
- package/rds-lambda/node_modules/collect-v8-coverage/CHANGELOG.md +7 -0
- package/rds-lambda/node_modules/collect-v8-coverage/package.json +18 -20
- package/rds-lambda/node_modules/commander/Readme.md +7 -2
- package/rds-lambda/node_modules/commander/package.json +17 -17
- package/rds-lambda/node_modules/electron-to-chromium/full-chromium-versions.json +1 -1
- package/rds-lambda/node_modules/electron-to-chromium/full-versions.json +1 -1
- package/rds-lambda/node_modules/electron-to-chromium/package.json +1 -1
- package/rds-lambda/node_modules/electron-to-chromium/versions.json +1 -1
- package/rds-lambda/node_modules/expect/package.json +10 -9
- package/rds-lambda/node_modules/jest/package.json +7 -7
- package/rds-lambda/node_modules/jest-circus/package.json +15 -14
- package/rds-lambda/node_modules/jest-cli/package.json +10 -9
- package/rds-lambda/node_modules/jest-config/package.json +14 -14
- package/rds-lambda/node_modules/jest-diff/package.json +4 -4
- package/rds-lambda/node_modules/jest-each/package.json +5 -5
- package/rds-lambda/node_modules/jest-environment-node/package.json +8 -8
- package/rds-lambda/node_modules/jest-haste-map/package.json +5 -5
- package/rds-lambda/node_modules/jest-leak-detector/package.json +3 -3
- package/rds-lambda/node_modules/jest-matcher-utils/package.json +5 -5
- package/rds-lambda/node_modules/jest-message-util/package.json +4 -4
- package/rds-lambda/node_modules/jest-mock/package.json +6 -6
- package/rds-lambda/node_modules/jest-resolve/package.json +7 -7
- package/rds-lambda/node_modules/jest-resolve-dependencies/package.json +8 -8
- package/rds-lambda/node_modules/jest-runner/package.json +20 -20
- package/rds-lambda/node_modules/jest-runtime/package.json +17 -17
- package/rds-lambda/node_modules/jest-snapshot/node_modules/semver/README.md +3 -1
- package/rds-lambda/node_modules/jest-snapshot/node_modules/semver/package.json +3 -3
- package/rds-lambda/node_modules/jest-snapshot/package.json +15 -17
- package/rds-lambda/node_modules/jest-util/package.json +3 -3
- package/rds-lambda/node_modules/jest-validate/package.json +4 -4
- package/rds-lambda/node_modules/jest-watcher/package.json +5 -5
- package/rds-lambda/node_modules/jest-worker/package.json +6 -6
- package/rds-lambda/node_modules/knex/CHANGELOG.md +63 -21
- package/rds-lambda/node_modules/knex/CONTRIBUTING.md +1 -1
- package/rds-lambda/node_modules/knex/LICENSE +22 -22
- package/rds-lambda/node_modules/knex/README.md +32 -31
- package/rds-lambda/node_modules/knex/UPGRADING.md +94 -82
- package/rds-lambda/node_modules/knex/knex.mjs +11 -0
- package/rds-lambda/node_modules/knex/lib/dialects/oracle/DEAD_CODE.md +3 -3
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/cjs.stub +15 -15
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/coffee.stub +13 -13
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/eg.stub +14 -14
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/js-schema.stub +22 -22
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/js.stub +22 -22
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/knexfile-coffee.stub +34 -34
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/knexfile-eg.stub +43 -43
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/knexfile-js.stub +47 -47
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/knexfile-ls.stub +35 -35
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/knexfile-ts.stub +47 -47
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/ls.stub +14 -14
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/mjs.stub +23 -23
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/ts-schema.stub +21 -21
- package/rds-lambda/node_modules/knex/lib/migrations/migrate/stub/ts.stub +21 -21
- package/rds-lambda/node_modules/knex/lib/migrations/seed/stub/coffee.stub +9 -9
- package/rds-lambda/node_modules/knex/lib/migrations/seed/stub/eg.stub +11 -11
- package/rds-lambda/node_modules/knex/lib/migrations/seed/stub/js.stub +13 -13
- package/rds-lambda/node_modules/knex/lib/migrations/seed/stub/ls.stub +11 -11
- package/rds-lambda/node_modules/knex/lib/migrations/seed/stub/mjs.stub +12 -12
- package/rds-lambda/node_modules/knex/lib/migrations/seed/stub/ts.stub +13 -13
- package/rds-lambda/node_modules/knex/package.json +21 -18
- package/rds-lambda/node_modules/knex/scripts/docker-compose.yml +2 -2
- package/rds-lambda/node_modules/knex/scripts/next-release-howto.md +1 -1
- package/rds-lambda/node_modules/knex/scripts/oracledb-install-driver-libs.sh +82 -82
- package/rds-lambda/node_modules/knex/scripts/release.sh +36 -34
- package/rds-lambda/node_modules/knex/scripts/stress-test/README.txt +18 -18
- package/rds-lambda/node_modules/knex/scripts/stress-test/docker-compose.yml +16 -16
- package/rds-lambda/node_modules/node-releases/data/processed/envs.json +1 -1
- package/rds-lambda/node_modules/node-releases/package.json +1 -1
- package/rds-lambda/node_modules/pg-connection-string/package.json +2 -2
- package/rds-lambda/node_modules/pretty-format/package.json +5 -5
- package/rds-lambda/node_modules/semver/package.json +19 -9
- package/rds-lambda/node_modules/ts-jest/.ts-jest-digest +1 -1
- package/rds-lambda/node_modules/ts-jest/CHANGELOG.md +9 -0
- package/rds-lambda/node_modules/ts-jest/node_modules/semver/README.md +3 -1
- package/rds-lambda/node_modules/ts-jest/node_modules/semver/package.json +3 -3
- package/rds-lambda/node_modules/ts-jest/package.json +12 -12
- package/rds-lambda/node_modules/tslib/package.json +1 -1
- package/rds-lambda/node_modules/tslib/tslib.es6.mjs +50 -1
- package/rds-lambda/package-lock.json +376 -377
- package/rds-patching-lambda/node_modules/.package-lock.json +13 -13
- package/rds-patching-lambda/node_modules/@smithy/protocol-http/package.json +3 -3
- package/rds-patching-lambda/node_modules/@smithy/types/package.json +2 -2
- package/rds-patching-lambda/node_modules/@types/node/README.md +1 -1
- package/rds-patching-lambda/node_modules/@types/node/package.json +2 -2
- package/rds-patching-lambda/node_modules/tslib/package.json +1 -1
- package/rds-patching-lambda/node_modules/tslib/tslib.es6.mjs +50 -1
- package/rds-patching-lambda/package-lock.json +13 -13
- package/rds-patching-lambda/src/index.ts +19 -6
- package/rds-patching-lambda/tsconfig.json +9 -9
- package/src/__tests__/model-transformer.test.ts +175 -145
- package/src/__tests__/test-utils/helpers.ts +1 -1
- package/src/definitions.ts +28 -2
- package/src/graphql-model-transformer.ts +81 -75
- package/src/graphql-types/common.ts +41 -41
- package/src/graphql-types/mutation.ts +13 -13
- package/src/graphql-types/query.ts +1 -0
- package/src/index.ts +1 -0
- package/src/resolvers/common.ts +1 -12
- package/src/resolvers/dynamodb/mutation.ts +16 -13
- package/src/resolvers/dynamodb/query.ts +7 -12
- package/src/resolvers/dynamodb/subscriptions.ts +1 -3
- package/src/resolvers/generators/dynamodb-vtl-generator.ts +18 -8
- package/src/resolvers/generators/rds-vtl-generator.ts +11 -4
- package/src/resolvers/generators/vtl-generator.ts +5 -5
- package/src/resolvers/index.ts +1 -3
- package/src/resolvers/rds/mutation.ts +76 -70
- package/src/resolvers/rds/query.ts +4 -12
- package/src/resolvers/rds/resolver.ts +125 -131
- package/src/resources/dynamo-model-resource-generator.ts +14 -28
- package/src/resources/model-resource-generator.ts +65 -27
- package/src/resources/rds-model-resource-generator.ts +5 -15
- package/tsconfig.json +4 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/rds-lambda/node_modules/semver/CHANGELOG.md +0 -70
|
@@ -2,91 +2,101 @@
|
|
|
2
2
|
|
|
3
3
|
### Upgrading to version 2.0.0+
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- Since `sqlite3` is maintained again, we switched back to it. If you are using `@vscode/sqlite3` driver dependency, please replace it with `sqlite3` in your `package.json`;
|
|
6
6
|
|
|
7
7
|
### Upgrading to version 1.0.0+
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
- Node.js older than 12 is no longer supported, make sure to update your environment;
|
|
10
|
+
- If you are using `sqlite3` driver dependency, please replace it with `@vscode/sqlite3` in your `package.json`;
|
|
11
|
+
- `RETURNING` operations now always return an object with column names;
|
|
12
|
+
- Migrator now returns list of migrations as objects.
|
|
13
13
|
|
|
14
14
|
### Upgrading to version 0.95.0+
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
- TypeScript type exports changed significantly. While `import Knex from 'knex';` used to import the knex instantiation function, the namespace and the interface for the knex instantiation function/object, there is now a clear distinction between them:
|
|
17
|
+
|
|
17
18
|
```typescript
|
|
18
|
-
import { knex } from 'knex' // this is a function that you call to instantiate knex
|
|
19
|
-
import { Knex } from 'knex' // this is a namespace, and a type of a knex object
|
|
19
|
+
import { knex } from 'knex'; // this is a function that you call to instantiate knex
|
|
20
|
+
import { Knex } from 'knex'; // this is a namespace, and a type of a knex object
|
|
20
21
|
import KnexTimeoutError = Knex.KnexTimeoutError; // this is a class from the Knex namespace
|
|
21
22
|
|
|
22
|
-
const config: Knex.Config = {} // this is a type from the Knex namespace
|
|
23
|
-
const knexInstance: Knex = knex(config)
|
|
23
|
+
const config: Knex.Config = {}; // this is a type from the Knex namespace
|
|
24
|
+
const knexInstance: Knex = knex(config);
|
|
24
25
|
```
|
|
25
26
|
|
|
26
27
|
If your code looked like this:
|
|
28
|
+
|
|
27
29
|
```typescript
|
|
28
|
-
import knex from 'knex'
|
|
30
|
+
import knex from 'knex';
|
|
29
31
|
|
|
30
|
-
const config: knex.Config = {} // this is a type from the Knex namespace
|
|
31
|
-
const knexInstance = knex(config)
|
|
32
|
+
const config: knex.Config = {}; // this is a type from the Knex namespace
|
|
33
|
+
const knexInstance = knex(config);
|
|
32
34
|
```
|
|
33
35
|
|
|
34
36
|
Change it to
|
|
37
|
+
|
|
35
38
|
```typescript
|
|
36
|
-
import { knex, Knex } from 'knex'
|
|
39
|
+
import { knex, Knex } from 'knex';
|
|
37
40
|
|
|
38
|
-
const config: Knex.Config = {} // this is a type from the Knex namespace
|
|
39
|
-
const knexInstance = knex(config)
|
|
41
|
+
const config: Knex.Config = {}; // this is a type from the Knex namespace
|
|
42
|
+
const knexInstance = knex(config);
|
|
40
43
|
```
|
|
41
44
|
|
|
42
|
-
|
|
45
|
+
- If you were importing types such as `Config` or `QueryBuilder` directly, use `Knex` namespace instead.
|
|
43
46
|
|
|
44
47
|
So change this:
|
|
48
|
+
|
|
45
49
|
```ts
|
|
46
|
-
import { QueryBuilder } from 'knex'
|
|
50
|
+
import { QueryBuilder } from 'knex';
|
|
47
51
|
|
|
48
|
-
const qb: QueryBuilder = knex('table').select('*')
|
|
52
|
+
const qb: QueryBuilder = knex('table').select('*');
|
|
49
53
|
```
|
|
50
54
|
|
|
51
55
|
to this:
|
|
56
|
+
|
|
52
57
|
```ts
|
|
53
|
-
import { Knex } from 'knex'
|
|
58
|
+
import { Knex } from 'knex';
|
|
54
59
|
|
|
55
|
-
const qb: Knex.QueryBuilder = knex('table').select('*')
|
|
60
|
+
const qb: Knex.QueryBuilder = knex('table').select('*');
|
|
56
61
|
```
|
|
57
62
|
|
|
58
|
-
|
|
63
|
+
- IDE autocomplete may stop working if you are using JavaScript (not TypeScript). There are reports for autocomplete still working correctly if knex is used this way:
|
|
64
|
+
|
|
59
65
|
```js
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
const knex = require('knex').knex({
|
|
67
|
+
//connection parameters
|
|
68
|
+
});
|
|
63
69
|
```
|
|
64
70
|
|
|
65
71
|
It also works when using ESM imports:
|
|
72
|
+
|
|
66
73
|
```js
|
|
67
|
-
|
|
74
|
+
import { knex } from 'knex';
|
|
68
75
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
76
|
+
const kn = knex({
|
|
77
|
+
//connection parameters
|
|
78
|
+
});
|
|
72
79
|
```
|
|
73
80
|
|
|
74
81
|
For usage as param it can be addressed like this:
|
|
82
|
+
|
|
75
83
|
```js
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
/**
|
|
85
|
+
* @param {import("knex").Knex} db
|
|
86
|
+
*/
|
|
87
|
+
function up(db) {
|
|
88
|
+
// Your code
|
|
89
|
+
}
|
|
82
90
|
```
|
|
83
91
|
|
|
84
|
-
|
|
92
|
+
- Syntax for QueryBuilder augmentation changed. Previously it looked like this:
|
|
85
93
|
|
|
86
94
|
```ts
|
|
87
95
|
declare module 'knex' {
|
|
88
|
-
|
|
89
|
-
|
|
96
|
+
interface QueryBuilder {
|
|
97
|
+
paginate<TResult = any[]>(
|
|
98
|
+
params: IPaginateParams
|
|
99
|
+
): KnexQB<any, IWithPagination<TResult>>;
|
|
90
100
|
}
|
|
91
101
|
}
|
|
92
102
|
```
|
|
@@ -97,38 +107,41 @@ This should be changed into this:
|
|
|
97
107
|
declare module 'knex' {
|
|
98
108
|
namespace Knex {
|
|
99
109
|
interface QueryBuilder {
|
|
100
|
-
paginate<TResult = any[]>(
|
|
110
|
+
paginate<TResult = any[]>(
|
|
111
|
+
params: IPaginateParams
|
|
112
|
+
): KnexQB<any, IWithPagination<TResult>>;
|
|
101
113
|
}
|
|
102
114
|
}
|
|
103
115
|
}
|
|
104
116
|
```
|
|
105
117
|
|
|
106
|
-
|
|
118
|
+
- TypeScript version 4.1+ is needed when using knex types now.
|
|
107
119
|
|
|
108
|
-
|
|
120
|
+
- MSSQL driver was completely reworked in order to address the multitude of connection pool, error handling and performance issues. Since the new implementation uses `tedious` library directly instead of `mssql`, please replace `mssql` with `tedious` in your dependencies if you are using a MSSQL database.
|
|
121
|
+
|
|
122
|
+
- Transaction rollback does not trigger a promise rejection for transactions with specified handler. If you want to preserve previous behavior, pass `config` object with `doNotRejectOnRollback: false`:
|
|
109
123
|
|
|
110
|
-
* Transaction rollback does not trigger a promise rejection for transactions with specified handler. If you want to preserve previous behavior, pass `config` object with `doNotRejectOnRollback: false`:
|
|
111
124
|
```js
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
125
|
+
await knex.transaction(
|
|
126
|
+
async (trx) => {
|
|
127
|
+
const ids = await trx('catalogues').insert({ name: 'Old Books' }, 'id');
|
|
128
|
+
},
|
|
129
|
+
{ doNotRejectOnRollback: false }
|
|
130
|
+
);
|
|
118
131
|
```
|
|
119
132
|
|
|
120
|
-
|
|
133
|
+
- Connection url parsing changed from legacy [url.parse](https://nodejs.org/docs/latest-v10.x/api/url.html#url_legacy_url_api) to [WHATWG URL](https://nodejs.org/docs/latest-v10.x/api/url.html#url_the_whatwg_url_api). If you have symbols, unusual for a URL (not A-z, not digits, not dot, not dash) - check [Node.js docs](https://nodejs.org/docs/latest-v10.x/api/url.html#url_percent_encoding_in_urls) for details
|
|
121
134
|
|
|
122
|
-
|
|
135
|
+
- Global static `Knex.raw` support dropped, use instance `knex.raw` instead. (`require('knex').raw()` won't work anymore)
|
|
123
136
|
|
|
124
|
-
|
|
137
|
+
- v8 flags are no longer supported in cli. To pass these flags use [`NODE_OPTIONS` environment variable](https://nodejs.org/api/cli.html#cli_node_options_options).
|
|
125
138
|
For example `NODE_OPTIONS="--max-old-space-size=1536" npm run knex`
|
|
126
139
|
|
|
127
|
-
|
|
140
|
+
- Clients are now classes instead of new-able functions. Please migrate your custom clients to classes.
|
|
128
141
|
|
|
129
142
|
```js
|
|
130
|
-
const Client = require('knex')
|
|
131
|
-
const {inherits} = require('util')
|
|
143
|
+
const Client = require('knex');
|
|
144
|
+
const { inherits } = require('util');
|
|
132
145
|
|
|
133
146
|
// old
|
|
134
147
|
function CustomClient(config) {
|
|
@@ -138,7 +151,7 @@ function CustomClient(config) {
|
|
|
138
151
|
inherits(CustomClient, Client);
|
|
139
152
|
CustomClient.prototype.methodOverride = function () {
|
|
140
153
|
// logic
|
|
141
|
-
}
|
|
154
|
+
};
|
|
142
155
|
|
|
143
156
|
// new
|
|
144
157
|
class CustomClient extends Client {
|
|
@@ -157,44 +170,44 @@ class CustomClient extends Client {
|
|
|
157
170
|
CustomClient.prototype.driverName = 'abcd';
|
|
158
171
|
```
|
|
159
172
|
|
|
160
|
-
|
|
173
|
+
- There was a major internal restructuring and renaming effort. Most dialect-specific compilers/builder have dialect name as a prefix now. Also some files were moved. Make sure to make adjustments accordingly if you were referencing specific knex library files directly from your code.
|
|
161
174
|
|
|
162
|
-
|
|
175
|
+
- "first" and "pluck" can no longer be both chained on the same operation. Previously only the last one chained was used, now this would throw an error.
|
|
163
176
|
|
|
164
|
-
|
|
177
|
+
- Trying to execute an operation resulting in an empty query such as inserting an empty array, will now throw an error on all database drivers.
|
|
165
178
|
|
|
166
179
|
### Upgrading to version 0.21.0+
|
|
167
180
|
|
|
168
|
-
|
|
181
|
+
- Node.js older than 10 is no longer supported, make sure to update your environment;
|
|
169
182
|
|
|
170
183
|
### Upgrading to version 0.19.0+
|
|
171
184
|
|
|
172
|
-
|
|
173
|
-
|
|
185
|
+
- Passing unknown properties to connection pool configuration now throws errors (see https://github.com/Vincit/tarn.js/issues/19 for details);
|
|
186
|
+
- `beforeDestroy` pool configuration option was removed. You should use tarn.js event handlers if you still need similar functionality.
|
|
174
187
|
|
|
175
188
|
### Upgrading to version 0.18.0+
|
|
176
189
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
190
|
+
- Node.js older than 8 is no longer supported, make sure to update your environment;
|
|
191
|
+
- Knex returns native promises instead of bluebird ones now. You will need to update your code not to rely on bluebird-specific functionality;
|
|
192
|
+
- Knex.Promise was removed, use native promises;
|
|
193
|
+
- Promise is no longer passed to migrations and seeds, use native one;
|
|
194
|
+
- If you are using TypeScript, make sure to include 'es6' in compilerOptions.lib, otherwise you may get errors for methods `.catch()` and `then()` not being recognized.
|
|
182
195
|
|
|
183
196
|
### Upgrading to version 0.17.0+
|
|
184
197
|
|
|
185
|
-
|
|
198
|
+
- Generic support was implemented for TypeScript bindings, which may break TS builds in some edge cases. Please refer to https://knexjs.org/#typescript-support for more elaborate documentation.
|
|
186
199
|
|
|
187
200
|
### Upgrading to version 0.16.0+
|
|
188
201
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
202
|
+
- MSSQL: DB versions older than 2008 are no longer supported, make sure to update your DB;
|
|
203
|
+
- PostgreSQL|MySQL: it is recommended to use options object for `table.datetime` and `table.timestamp` methods instead of argument options. See documentation for these methods for more details;
|
|
204
|
+
- Node 6: There are known issues with duplicate event listeners when using knex.js with Node.js 6 (resulting in MaxListenersExceededWarning under certain use-cases (such as reusing single knex instance to run migrations or seeds multiple times)). Please upgrade to Node.js 8+ as soon as possible (knex 0.17.0 will be dropping Node.js 6 support altogether);
|
|
192
205
|
|
|
193
206
|
### Upgrading to version 0.15.0+
|
|
194
207
|
|
|
195
|
-
|
|
208
|
+
- Node.js older than 6 is no longer supported, make sure to update your environment;
|
|
196
209
|
|
|
197
|
-
|
|
210
|
+
- MSSQL: Creating a unique index on the table targeted by stored procedures that were created with QUOTED_IDENTIFIER = OFF fails.
|
|
198
211
|
|
|
199
212
|
You can use this query to identify all affected stored procedures:
|
|
200
213
|
|
|
@@ -206,28 +219,27 @@ WHERE uses_quoted_identifier = 0;
|
|
|
206
219
|
|
|
207
220
|
The only known solution is to recreate all stored procedures with QUOTED_IDENTIFIER = OFF
|
|
208
221
|
|
|
209
|
-
|
|
222
|
+
- MariaDB: `mariadb` dialect is no longer supported;
|
|
210
223
|
|
|
211
224
|
Instead, use "mysql" or "mysql2" dialects.
|
|
212
225
|
|
|
213
226
|
### Upgrading to version 0.14.4+
|
|
214
227
|
|
|
215
|
-
|
|
228
|
+
- Including schema in tableName parameter in migrations no longer works, so this is invalid:
|
|
216
229
|
|
|
217
230
|
```js
|
|
218
231
|
await knex.migrate.latest({
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
})
|
|
232
|
+
directory: 'src/services/orders/database/migrations',
|
|
233
|
+
tableName: 'orders.orders_migrations',
|
|
234
|
+
});
|
|
222
235
|
```
|
|
223
236
|
|
|
224
237
|
Instead, starting from 0.14.5 you should use new parameter schemaName:
|
|
225
238
|
|
|
226
239
|
```js
|
|
227
240
|
await knex.migrate.latest({
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
})
|
|
241
|
+
directory: 'src/services/orders/database/migrations',
|
|
242
|
+
tableName: 'orders_migrations',
|
|
243
|
+
schemaName: 'orders',
|
|
244
|
+
});
|
|
232
245
|
```
|
|
233
|
-
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Knex.js
|
|
2
|
+
// --------------
|
|
3
|
+
// (c) 2013-present Tim Griesser
|
|
4
|
+
// Knex may be freely distributed under the MIT license.
|
|
5
|
+
// For details and documentation:
|
|
6
|
+
// http://knexjs.org
|
|
7
|
+
|
|
8
|
+
import knex from './lib/index.js';
|
|
9
|
+
|
|
10
|
+
export { knex };
|
|
11
|
+
export default knex;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Warning: Dead Code
|
|
1
|
+
# Warning: Dead Code
|
|
2
2
|
|
|
3
|
-
The `oracle` dialect is mostly dead code at this point.
|
|
3
|
+
The `oracle` dialect is mostly dead code at this point. However, a handful of its methods are still referenced by the `oracledb` dialect. So, we are in the process of migrating those methods over to the `oracledb` dialect where they belong. Once that task is completed, we will officially remove the `oracle` dialect.
|
|
4
4
|
|
|
5
|
-
In short: do not use the `oracle` dialect.
|
|
5
|
+
In short: do not use the `oracle` dialect. Use the `oracledb` dialect instead.
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
exports.up = function(knex) {
|
|
3
|
-
<% if (d.tableName) { %>
|
|
4
|
-
return knex.schema.createTable("<%= d.tableName %>", function(t) {
|
|
5
|
-
t.increments();
|
|
6
|
-
t.timestamp();
|
|
7
|
-
});
|
|
8
|
-
<% } %>
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
exports.down = function(knex) {
|
|
12
|
-
<% if (d.tableName) { %>
|
|
13
|
-
return knex.schema.dropTable("<%= d.tableName %>");
|
|
14
|
-
<% } %>
|
|
15
|
-
};
|
|
1
|
+
|
|
2
|
+
exports.up = function(knex) {
|
|
3
|
+
<% if (d.tableName) { %>
|
|
4
|
+
return knex.schema.createTable("<%= d.tableName %>", function(t) {
|
|
5
|
+
t.increments();
|
|
6
|
+
t.timestamp();
|
|
7
|
+
});
|
|
8
|
+
<% } %>
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
exports.down = function(knex) {
|
|
12
|
+
<% if (d.tableName) { %>
|
|
13
|
+
return knex.schema.dropTable("<%= d.tableName %>");
|
|
14
|
+
<% } %>
|
|
15
|
+
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
exports.up = (knex) ->
|
|
3
|
-
<% if (d.tableName) { %>
|
|
4
|
-
knex.schema.createTable "<%= d.tableName %>", (t) ->
|
|
5
|
-
t.increments()
|
|
6
|
-
t.timestamp()
|
|
7
|
-
<% } %>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exports.down = (knex) ->
|
|
11
|
-
<% if (d.tableName) { %>
|
|
12
|
-
knex.schema.dropTable "<%= d.tableName %>"
|
|
13
|
-
<% } %>
|
|
1
|
+
|
|
2
|
+
exports.up = (knex) ->
|
|
3
|
+
<% if (d.tableName) { %>
|
|
4
|
+
knex.schema.createTable "<%= d.tableName %>", (t) ->
|
|
5
|
+
t.increments()
|
|
6
|
+
t.timestamp()
|
|
7
|
+
<% } %>
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
exports.down = (knex) ->
|
|
11
|
+
<% if (d.tableName) { %>
|
|
12
|
+
knex.schema.dropTable "<%= d.tableName %>"
|
|
13
|
+
<% } %>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
provide: up, down
|
|
2
|
-
|
|
3
|
-
up = (knex) ->
|
|
4
|
-
<% if (d.tableName) { %>
|
|
5
|
-
knex.schema.createTable "<%= d.tableName %>": t ->
|
|
6
|
-
t.increments()
|
|
7
|
-
t.timestamp()
|
|
8
|
-
<% } %>
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
down = (knex) ->
|
|
12
|
-
<% if (d.tableName) { %>
|
|
13
|
-
knex.schema.dropTable("<%= d.tableName %>")
|
|
14
|
-
<% } %>
|
|
1
|
+
provide: up, down
|
|
2
|
+
|
|
3
|
+
up = (knex) ->
|
|
4
|
+
<% if (d.tableName) { %>
|
|
5
|
+
knex.schema.createTable "<%= d.tableName %>": t ->
|
|
6
|
+
t.increments()
|
|
7
|
+
t.timestamp()
|
|
8
|
+
<% } %>
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
down = (knex) ->
|
|
12
|
+
<% if (d.tableName) { %>
|
|
13
|
+
knex.schema.dropTable("<%= d.tableName %>")
|
|
14
|
+
<% } %>
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @param { import("knex").Knex } knex
|
|
3
|
-
* @returns { Promise<void> }
|
|
4
|
-
*/
|
|
5
|
-
exports.up = function({schema}) {
|
|
6
|
-
<% if (d.tableName) { %>
|
|
7
|
-
return schema.createTable("<%= d.tableName %>", function(t) {
|
|
8
|
-
t.increments();
|
|
9
|
-
t.timestamp();
|
|
10
|
-
});
|
|
11
|
-
<% } %>
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @param { import("knex").Knex } knex
|
|
16
|
-
* @returns { Promise<void> }
|
|
17
|
-
*/
|
|
18
|
-
exports.down = function({schema}) {
|
|
19
|
-
<% if (d.tableName) { %>
|
|
20
|
-
return schema.dropTable("<%= d.tableName %>");
|
|
21
|
-
<% } %>
|
|
22
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* @param { import("knex").Knex } knex
|
|
3
|
+
* @returns { Promise<void> }
|
|
4
|
+
*/
|
|
5
|
+
exports.up = function({schema}) {
|
|
6
|
+
<% if (d.tableName) { %>
|
|
7
|
+
return schema.createTable("<%= d.tableName %>", function(t) {
|
|
8
|
+
t.increments();
|
|
9
|
+
t.timestamp();
|
|
10
|
+
});
|
|
11
|
+
<% } %>
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @param { import("knex").Knex } knex
|
|
16
|
+
* @returns { Promise<void> }
|
|
17
|
+
*/
|
|
18
|
+
exports.down = function({schema}) {
|
|
19
|
+
<% if (d.tableName) { %>
|
|
20
|
+
return schema.dropTable("<%= d.tableName %>");
|
|
21
|
+
<% } %>
|
|
22
|
+
};
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @param { import("knex").Knex } knex
|
|
3
|
-
* @returns { Promise<void> }
|
|
4
|
-
*/
|
|
5
|
-
exports.up = function(knex) {
|
|
6
|
-
<% if (d.tableName) { %>
|
|
7
|
-
return knex.schema.createTable("<%= d.tableName %>", function(t) {
|
|
8
|
-
t.increments();
|
|
9
|
-
t.timestamp();
|
|
10
|
-
});
|
|
11
|
-
<% } %>
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @param { import("knex").Knex } knex
|
|
16
|
-
* @returns { Promise<void> }
|
|
17
|
-
*/
|
|
18
|
-
exports.down = function(knex) {
|
|
19
|
-
<% if (d.tableName) { %>
|
|
20
|
-
return knex.schema.dropTable("<%= d.tableName %>");
|
|
21
|
-
<% } %>
|
|
22
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* @param { import("knex").Knex } knex
|
|
3
|
+
* @returns { Promise<void> }
|
|
4
|
+
*/
|
|
5
|
+
exports.up = function(knex) {
|
|
6
|
+
<% if (d.tableName) { %>
|
|
7
|
+
return knex.schema.createTable("<%= d.tableName %>", function(t) {
|
|
8
|
+
t.increments();
|
|
9
|
+
t.timestamp();
|
|
10
|
+
});
|
|
11
|
+
<% } %>
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @param { import("knex").Knex } knex
|
|
16
|
+
* @returns { Promise<void> }
|
|
17
|
+
*/
|
|
18
|
+
exports.down = function(knex) {
|
|
19
|
+
<% if (d.tableName) { %>
|
|
20
|
+
return knex.schema.dropTable("<%= d.tableName %>");
|
|
21
|
+
<% } %>
|
|
22
|
+
};
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
# Update with your config settings.
|
|
2
|
-
|
|
3
|
-
module.exports =
|
|
4
|
-
|
|
5
|
-
development:
|
|
6
|
-
client: 'sqlite3'
|
|
7
|
-
connection:
|
|
8
|
-
filename: './dev.sqlite3'
|
|
9
|
-
migrations:
|
|
10
|
-
tableName: 'knex_migrations'
|
|
11
|
-
|
|
12
|
-
staging:
|
|
13
|
-
client: 'postgresql'
|
|
14
|
-
connection:
|
|
15
|
-
database: 'my_db'
|
|
16
|
-
user: 'username'
|
|
17
|
-
password: 'password'
|
|
18
|
-
pool:
|
|
19
|
-
min: 2
|
|
20
|
-
max: 10
|
|
21
|
-
migrations:
|
|
22
|
-
tableName: 'knex_migrations'
|
|
23
|
-
|
|
24
|
-
production:
|
|
25
|
-
client: 'postgresql'
|
|
26
|
-
connection:
|
|
27
|
-
database: 'my_db'
|
|
28
|
-
user: 'username'
|
|
29
|
-
password: 'password'
|
|
30
|
-
pool:
|
|
31
|
-
min: 2
|
|
32
|
-
max: 10
|
|
33
|
-
migrations:
|
|
34
|
-
tableName: 'knex_migrations'
|
|
1
|
+
# Update with your config settings.
|
|
2
|
+
|
|
3
|
+
module.exports =
|
|
4
|
+
|
|
5
|
+
development:
|
|
6
|
+
client: 'sqlite3'
|
|
7
|
+
connection:
|
|
8
|
+
filename: './dev.sqlite3'
|
|
9
|
+
migrations:
|
|
10
|
+
tableName: 'knex_migrations'
|
|
11
|
+
|
|
12
|
+
staging:
|
|
13
|
+
client: 'postgresql'
|
|
14
|
+
connection:
|
|
15
|
+
database: 'my_db'
|
|
16
|
+
user: 'username'
|
|
17
|
+
password: 'password'
|
|
18
|
+
pool:
|
|
19
|
+
min: 2
|
|
20
|
+
max: 10
|
|
21
|
+
migrations:
|
|
22
|
+
tableName: 'knex_migrations'
|
|
23
|
+
|
|
24
|
+
production:
|
|
25
|
+
client: 'postgresql'
|
|
26
|
+
connection:
|
|
27
|
+
database: 'my_db'
|
|
28
|
+
user: 'username'
|
|
29
|
+
password: 'password'
|
|
30
|
+
pool:
|
|
31
|
+
min: 2
|
|
32
|
+
max: 10
|
|
33
|
+
migrations:
|
|
34
|
+
tableName: 'knex_migrations'
|