knex 3.2.2 → 3.2.4
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 +2447 -2441
- package/CONTRIBUTING.md +190 -190
- package/LICENSE +22 -22
- package/README.md +156 -156
- package/UPGRADING.md +245 -245
- package/bin/cli.js +516 -516
- package/bin/knexfile-runtime-error.js +27 -27
- package/bin/utils/cli-config-utils.js +217 -217
- package/bin/utils/constants.js +7 -7
- package/bin/utils/migrationsLister.js +37 -37
- package/knex.js +23 -23
- package/knex.mjs +11 -11
- package/lib/builder-interface-augmenter.js +120 -120
- package/lib/client.js +585 -585
- package/lib/constants.js +61 -61
- package/lib/dialects/better-sqlite3/index.js +101 -101
- package/lib/dialects/cockroachdb/crdb-columncompiler.js +14 -14
- package/lib/dialects/cockroachdb/crdb-querybuilder.js +11 -11
- package/lib/dialects/cockroachdb/crdb-querycompiler.js +122 -122
- package/lib/dialects/cockroachdb/crdb-tablecompiler.js +46 -46
- package/lib/dialects/cockroachdb/crdb-viewcompiler.js +15 -15
- package/lib/dialects/cockroachdb/index.js +86 -86
- package/lib/dialects/index.js +34 -34
- package/lib/dialects/mssql/index.js +498 -498
- package/lib/dialects/mssql/mssql-formatter.js +34 -34
- package/lib/dialects/mssql/query/mssql-querycompiler.js +601 -601
- package/lib/dialects/mssql/schema/mssql-columncompiler.js +185 -185
- package/lib/dialects/mssql/schema/mssql-compiler.js +91 -91
- package/lib/dialects/mssql/schema/mssql-tablecompiler.js +393 -393
- package/lib/dialects/mssql/schema/mssql-viewcompiler.js +55 -55
- package/lib/dialects/mssql/transaction.js +176 -176
- package/lib/dialects/mysql/index.js +317 -317
- package/lib/dialects/mysql/query/mysql-querybuilder.js +14 -14
- package/lib/dialects/mysql/query/mysql-querycompiler.js +292 -292
- package/lib/dialects/mysql/schema/mysql-columncompiler.js +193 -193
- package/lib/dialects/mysql/schema/mysql-compiler.js +60 -60
- package/lib/dialects/mysql/schema/mysql-tablecompiler.js +426 -426
- package/lib/dialects/mysql/schema/mysql-viewbuilder.js +21 -21
- package/lib/dialects/mysql/schema/mysql-viewcompiler.js +15 -15
- package/lib/dialects/mysql/transaction.js +46 -46
- package/lib/dialects/mysql2/index.js +53 -53
- package/lib/dialects/mysql2/transaction.js +44 -44
- package/lib/dialects/oracle/DEAD_CODE.md +5 -5
- package/lib/dialects/oracle/index.js +92 -92
- package/lib/dialects/oracle/query/oracle-querycompiler.js +343 -343
- package/lib/dialects/oracle/schema/internal/incrementUtils.js +22 -22
- package/lib/dialects/oracle/schema/internal/trigger.js +155 -155
- package/lib/dialects/oracle/schema/oracle-columnbuilder.js +17 -17
- package/lib/dialects/oracle/schema/oracle-columncompiler.js +126 -126
- package/lib/dialects/oracle/schema/oracle-compiler.js +124 -124
- package/lib/dialects/oracle/schema/oracle-tablecompiler.js +210 -210
- package/lib/dialects/oracle/utils.js +107 -107
- package/lib/dialects/oracledb/index.js +381 -381
- package/lib/dialects/oracledb/query/oracledb-querycompiler.js +481 -481
- package/lib/dialects/oracledb/schema/oracledb-columncompiler.js +61 -61
- package/lib/dialects/oracledb/schema/oracledb-tablecompiler.js +19 -19
- package/lib/dialects/oracledb/schema/oracledb-viewbuilder.js +13 -13
- package/lib/dialects/oracledb/schema/oracledb-viewcompiler.js +19 -19
- package/lib/dialects/oracledb/transaction.js +98 -98
- package/lib/dialects/oracledb/utils.js +208 -208
- package/lib/dialects/pgnative/index.js +60 -60
- package/lib/dialects/postgres/execution/pg-transaction.js +19 -19
- package/lib/dialects/postgres/index.js +373 -373
- package/lib/dialects/postgres/query/pg-querybuilder.js +43 -43
- package/lib/dialects/postgres/query/pg-querycompiler.js +400 -400
- package/lib/dialects/postgres/schema/pg-columncompiler.js +162 -162
- package/lib/dialects/postgres/schema/pg-compiler.js +138 -138
- package/lib/dialects/postgres/schema/pg-tablecompiler.js +331 -331
- package/lib/dialects/postgres/schema/pg-viewbuilder.js +21 -21
- package/lib/dialects/postgres/schema/pg-viewcompiler.js +35 -35
- package/lib/dialects/redshift/index.js +86 -86
- package/lib/dialects/redshift/query/redshift-querycompiler.js +163 -163
- package/lib/dialects/redshift/schema/redshift-columnbuilder.js +22 -22
- package/lib/dialects/redshift/schema/redshift-columncompiler.js +67 -67
- package/lib/dialects/redshift/schema/redshift-compiler.js +14 -14
- package/lib/dialects/redshift/schema/redshift-tablecompiler.js +134 -134
- package/lib/dialects/redshift/schema/redshift-viewcompiler.js +11 -11
- package/lib/dialects/redshift/transaction.js +32 -32
- package/lib/dialects/sqlite3/execution/sqlite-transaction.js +172 -172
- package/lib/dialects/sqlite3/index.js +263 -263
- package/lib/dialects/sqlite3/query/sqlite-querybuilder.js +33 -33
- package/lib/dialects/sqlite3/query/sqlite-querycompiler.js +341 -341
- package/lib/dialects/sqlite3/schema/ddl.js +380 -380
- package/lib/dialects/sqlite3/schema/internal/compiler.js +327 -327
- package/lib/dialects/sqlite3/schema/internal/parser-combinator.js +161 -161
- package/lib/dialects/sqlite3/schema/internal/parser.js +638 -638
- package/lib/dialects/sqlite3/schema/internal/sqlite-ddl-operations.js +41 -41
- package/lib/dialects/sqlite3/schema/internal/tokenizer.js +38 -38
- package/lib/dialects/sqlite3/schema/internal/utils.js +12 -12
- package/lib/dialects/sqlite3/schema/sqlite-columncompiler.js +50 -50
- package/lib/dialects/sqlite3/schema/sqlite-compiler.js +80 -80
- package/lib/dialects/sqlite3/schema/sqlite-tablecompiler.js +364 -364
- package/lib/dialects/sqlite3/schema/sqlite-viewcompiler.js +40 -40
- package/lib/execution/batch-insert.js +51 -51
- package/lib/execution/internal/delay.js +6 -6
- package/lib/execution/internal/ensure-connection-callback.js +41 -41
- package/lib/execution/internal/query-executioner.js +62 -62
- package/lib/execution/runner.js +325 -325
- package/lib/execution/transaction.js +417 -417
- package/lib/formatter/formatterUtils.js +42 -42
- package/lib/formatter/rawFormatter.js +84 -84
- package/lib/formatter/wrappingFormatter.js +253 -253
- package/lib/formatter.js +25 -25
- package/lib/index.js +3 -3
- package/lib/knex-builder/FunctionHelper.js +80 -80
- package/lib/knex-builder/Knex.js +59 -59
- package/lib/knex-builder/internal/config-resolver.js +57 -57
- package/lib/knex-builder/internal/parse-connection.js +87 -87
- package/lib/knex-builder/make-knex.js +345 -345
- package/lib/logger.js +76 -76
- package/lib/migrations/common/MigrationsLoader.js +36 -36
- package/lib/migrations/migrate/MigrationGenerator.js +84 -84
- package/lib/migrations/migrate/Migrator.js +632 -632
- package/lib/migrations/migrate/migrate-stub.js +17 -17
- package/lib/migrations/migrate/migration-list-resolver.js +33 -33
- package/lib/migrations/migrate/migrator-configuration-merger.js +58 -58
- package/lib/migrations/migrate/sources/fs-migrations.js +74 -74
- package/lib/migrations/migrate/stub/cjs.stub +15 -15
- package/lib/migrations/migrate/stub/coffee.stub +13 -13
- package/lib/migrations/migrate/stub/eg.stub +14 -14
- package/lib/migrations/migrate/stub/js-schema.stub +22 -22
- package/lib/migrations/migrate/stub/js.stub +22 -22
- package/lib/migrations/migrate/stub/knexfile-coffee.stub +34 -34
- package/lib/migrations/migrate/stub/knexfile-eg.stub +43 -43
- package/lib/migrations/migrate/stub/knexfile-js.stub +47 -47
- package/lib/migrations/migrate/stub/knexfile-ls.stub +35 -35
- package/lib/migrations/migrate/stub/knexfile-ts.stub +47 -47
- package/lib/migrations/migrate/stub/ls.stub +14 -14
- package/lib/migrations/migrate/stub/mjs.stub +23 -23
- package/lib/migrations/migrate/stub/ts-schema.stub +21 -21
- package/lib/migrations/migrate/stub/ts.stub +21 -21
- package/lib/migrations/migrate/table-creator.js +77 -77
- package/lib/migrations/migrate/table-resolver.js +27 -27
- package/lib/migrations/seed/Seeder.js +137 -137
- package/lib/migrations/seed/seed-stub.js +13 -13
- package/lib/migrations/seed/seeder-configuration-merger.js +60 -60
- package/lib/migrations/seed/sources/fs-seeds.js +65 -65
- package/lib/migrations/seed/stub/coffee.stub +9 -9
- package/lib/migrations/seed/stub/eg.stub +11 -11
- package/lib/migrations/seed/stub/js.stub +13 -13
- package/lib/migrations/seed/stub/ls.stub +11 -11
- package/lib/migrations/seed/stub/mjs.stub +12 -12
- package/lib/migrations/seed/stub/ts.stub +13 -13
- package/lib/migrations/util/fs.js +86 -86
- package/lib/migrations/util/import-file.js +12 -12
- package/lib/migrations/util/is-module-type.js +9 -9
- package/lib/migrations/util/template.js +52 -52
- package/lib/migrations/util/timestamp.js +14 -14
- package/lib/query/analytic.js +52 -52
- package/lib/query/constants.js +15 -15
- package/lib/query/joinclause.js +270 -270
- package/lib/query/method-constants.js +136 -136
- package/lib/query/querybuilder.js +1793 -1793
- package/lib/query/querycompiler.js +1634 -1634
- package/lib/raw.js +139 -139
- package/lib/ref.js +39 -39
- package/lib/schema/builder.js +115 -115
- package/lib/schema/columnbuilder.js +146 -146
- package/lib/schema/columncompiler.js +307 -307
- package/lib/schema/compiler.js +187 -187
- package/lib/schema/internal/helpers.js +55 -55
- package/lib/schema/tablebuilder.js +379 -379
- package/lib/schema/tablecompiler.js +450 -450
- package/lib/schema/viewbuilder.js +92 -92
- package/lib/schema/viewcompiler.js +138 -138
- package/lib/util/finally-mixin.js +13 -13
- package/lib/util/helpers.js +95 -95
- package/lib/util/is.js +32 -32
- package/lib/util/nanoid.js +40 -40
- package/lib/util/noop.js +1 -1
- package/lib/util/save-async-stack.js +14 -14
- package/lib/util/security.js +32 -32
- package/lib/util/string.js +190 -190
- package/lib/util/timeout.js +29 -29
- package/package.json +294 -296
- package/scripts/act-testing/act.sh +19 -19
- package/scripts/act-testing/merged-no-label.json +11 -11
- package/scripts/act-testing/merged-patch-labeled.json +12 -12
- package/scripts/act-testing/merged-skip-labeled.json +12 -12
- package/scripts/act-testing/not-merged-patch-labeled.json +12 -12
- package/scripts/build-for-release.sh +121 -121
- package/scripts/build.js +125 -125
- package/scripts/clean.js +31 -31
- package/scripts/docker-compose.yml +150 -150
- package/scripts/format-changelog.js +55 -55
- package/scripts/next-release-howto.md +24 -24
- package/scripts/oracledb-install-driver-libs.sh +82 -82
- package/scripts/release.sh +36 -36
- package/scripts/runkit-example.js +35 -35
- package/scripts/stress-test/README.txt +18 -18
- package/scripts/stress-test/docker-compose.yml +55 -55
- package/scripts/stress-test/knex-stress-test.js +212 -212
- package/scripts/stress-test/mysql2-random-hanging-every-now-and-then.js +149 -149
- package/scripts/stress-test/mysql2-sudden-exit-without-error.js +101 -101
- package/scripts/stress-test/reconnect-test-mysql-based-drivers.js +188 -188
- package/types/index.d.mts +11 -0
- package/types/index.d.ts +3321 -3321
- package/types/result.d.ts +27 -27
- package/types/tables.d.ts +4 -4
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# Exit on error
|
|
4
|
-
set -e
|
|
5
|
-
|
|
6
|
-
# Directory constants
|
|
7
|
-
repo_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null 2>&1 && pwd )"
|
|
8
|
-
exec_dir="$( pwd )"
|
|
9
|
-
script_dir="$repo_dir/scripts/"
|
|
10
|
-
docker_compose_file="$repo_dir/scripts/docker-compose.yml"
|
|
11
|
-
|
|
12
|
-
help_text="
|
|
13
|
-
Helper script to install oracle drivers on local linux machine from Oracle
|
|
14
|
-
database container.
|
|
15
|
-
|
|
16
|
-
oracledb-install-driver-libs.sh COMMAND
|
|
17
|
-
|
|
18
|
-
COMMAND:
|
|
19
|
-
run: Do the driver install.
|
|
20
|
-
dry-run: Do the driver install but do not save any files.
|
|
21
|
-
help: Print this menu.
|
|
22
|
-
|
|
23
|
-
NOTES FOR USAGE:
|
|
24
|
-
1. This script is tested to work on Ubuntu 18.04 LTS.
|
|
25
|
-
2. This script requires you to have sudo capabilities so to use ldconfig.
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
# Main script logic
|
|
29
|
-
cmd="$1"
|
|
30
|
-
|
|
31
|
-
function main () {
|
|
32
|
-
case "$1" in
|
|
33
|
-
"run")
|
|
34
|
-
printf "Starting run ...\n"
|
|
35
|
-
do_install true
|
|
36
|
-
exit 0
|
|
37
|
-
;;
|
|
38
|
-
"dry-run")
|
|
39
|
-
printf "Starting dry-run ...\n"
|
|
40
|
-
do_install false
|
|
41
|
-
exit 0
|
|
42
|
-
;;
|
|
43
|
-
"help"|"--help"|"-h"|"")
|
|
44
|
-
printf "$help_text"
|
|
45
|
-
exit 0
|
|
46
|
-
;;
|
|
47
|
-
*)
|
|
48
|
-
printf "Unsupported command: $cmd\n"
|
|
49
|
-
printf "Try running with 'help' to see supported commands.\n"
|
|
50
|
-
exit 1
|
|
51
|
-
;;
|
|
52
|
-
esac
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
function do_install () {
|
|
56
|
-
do_changes="$1"
|
|
57
|
-
printf "\nEnsuring oracle containers from docker compose are up ...\n"
|
|
58
|
-
docker compose -f "$docker_compose_file" up --build -d oracledb
|
|
59
|
-
docker compose -f "$docker_compose_file" up waitoracledb
|
|
60
|
-
printf "\nSleeping an extra 15 seconds to ensure oracle has fully started ...\n"
|
|
61
|
-
sleep 15
|
|
62
|
-
printf "\nInstalling oracle client libs to db container ...\n"
|
|
63
|
-
set -x
|
|
64
|
-
docker compose -f "$docker_compose_file" exec -T oracledb curl http://yum.oracle.com/public-yum-ol7.repo -o /etc/yum.repos.d/public-yum-ol7.repo
|
|
65
|
-
docker compose -f "$docker_compose_file" exec -T oracledb yum install -y yum-utils
|
|
66
|
-
docker compose -f "$docker_compose_file" exec -T oracledb yum-config-manager --enable ol7_oracle_instantclient
|
|
67
|
-
docker compose -f "$docker_compose_file" exec -T oracledb yum install -y oracle-instantclient18.3-basiclite
|
|
68
|
-
set +x
|
|
69
|
-
printf "\nCopying to host's ~/lib directory and adding to ldconfig ...\n"
|
|
70
|
-
if [ "$do_changes" = "true" ]; then
|
|
71
|
-
set -x
|
|
72
|
-
docker cp oracledb_container:/usr/lib/oracle/18.3/client64/lib/ ~/
|
|
73
|
-
sudo sh -c "echo $HOME/lib > /etc/ld.so.conf.d/oracle-instantclient.conf"
|
|
74
|
-
sudo ldconfig
|
|
75
|
-
set +x
|
|
76
|
-
else
|
|
77
|
-
printf "(skipping because dry-run)\n"
|
|
78
|
-
fi
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
# Start the bash app's main function
|
|
82
|
-
main "$cmd"
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# Exit on error
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
# Directory constants
|
|
7
|
+
repo_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null 2>&1 && pwd )"
|
|
8
|
+
exec_dir="$( pwd )"
|
|
9
|
+
script_dir="$repo_dir/scripts/"
|
|
10
|
+
docker_compose_file="$repo_dir/scripts/docker-compose.yml"
|
|
11
|
+
|
|
12
|
+
help_text="
|
|
13
|
+
Helper script to install oracle drivers on local linux machine from Oracle
|
|
14
|
+
database container.
|
|
15
|
+
|
|
16
|
+
oracledb-install-driver-libs.sh COMMAND
|
|
17
|
+
|
|
18
|
+
COMMAND:
|
|
19
|
+
run: Do the driver install.
|
|
20
|
+
dry-run: Do the driver install but do not save any files.
|
|
21
|
+
help: Print this menu.
|
|
22
|
+
|
|
23
|
+
NOTES FOR USAGE:
|
|
24
|
+
1. This script is tested to work on Ubuntu 18.04 LTS.
|
|
25
|
+
2. This script requires you to have sudo capabilities so to use ldconfig.
|
|
26
|
+
"
|
|
27
|
+
|
|
28
|
+
# Main script logic
|
|
29
|
+
cmd="$1"
|
|
30
|
+
|
|
31
|
+
function main () {
|
|
32
|
+
case "$1" in
|
|
33
|
+
"run")
|
|
34
|
+
printf "Starting run ...\n"
|
|
35
|
+
do_install true
|
|
36
|
+
exit 0
|
|
37
|
+
;;
|
|
38
|
+
"dry-run")
|
|
39
|
+
printf "Starting dry-run ...\n"
|
|
40
|
+
do_install false
|
|
41
|
+
exit 0
|
|
42
|
+
;;
|
|
43
|
+
"help"|"--help"|"-h"|"")
|
|
44
|
+
printf "$help_text"
|
|
45
|
+
exit 0
|
|
46
|
+
;;
|
|
47
|
+
*)
|
|
48
|
+
printf "Unsupported command: $cmd\n"
|
|
49
|
+
printf "Try running with 'help' to see supported commands.\n"
|
|
50
|
+
exit 1
|
|
51
|
+
;;
|
|
52
|
+
esac
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function do_install () {
|
|
56
|
+
do_changes="$1"
|
|
57
|
+
printf "\nEnsuring oracle containers from docker compose are up ...\n"
|
|
58
|
+
docker compose -f "$docker_compose_file" up --build -d oracledb
|
|
59
|
+
docker compose -f "$docker_compose_file" up waitoracledb
|
|
60
|
+
printf "\nSleeping an extra 15 seconds to ensure oracle has fully started ...\n"
|
|
61
|
+
sleep 15
|
|
62
|
+
printf "\nInstalling oracle client libs to db container ...\n"
|
|
63
|
+
set -x
|
|
64
|
+
docker compose -f "$docker_compose_file" exec -T oracledb curl http://yum.oracle.com/public-yum-ol7.repo -o /etc/yum.repos.d/public-yum-ol7.repo
|
|
65
|
+
docker compose -f "$docker_compose_file" exec -T oracledb yum install -y yum-utils
|
|
66
|
+
docker compose -f "$docker_compose_file" exec -T oracledb yum-config-manager --enable ol7_oracle_instantclient
|
|
67
|
+
docker compose -f "$docker_compose_file" exec -T oracledb yum install -y oracle-instantclient18.3-basiclite
|
|
68
|
+
set +x
|
|
69
|
+
printf "\nCopying to host's ~/lib directory and adding to ldconfig ...\n"
|
|
70
|
+
if [ "$do_changes" = "true" ]; then
|
|
71
|
+
set -x
|
|
72
|
+
docker cp oracledb_container:/usr/lib/oracle/18.3/client64/lib/ ~/
|
|
73
|
+
sudo sh -c "echo $HOME/lib > /etc/ld.so.conf.d/oracle-instantclient.conf"
|
|
74
|
+
sudo ldconfig
|
|
75
|
+
set +x
|
|
76
|
+
else
|
|
77
|
+
printf "(skipping because dry-run)\n"
|
|
78
|
+
fi
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
# Start the bash app's main function
|
|
82
|
+
main "$cmd"
|
package/scripts/release.sh
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
#!/bin/bash -e
|
|
2
|
-
|
|
3
|
-
changelog=node_modules/.bin/changelog
|
|
4
|
-
|
|
5
|
-
update_version() {
|
|
6
|
-
echo "$(node -p "p=require('./${1}');p.version='${2}';JSON.stringify(p,null,2)")" > $1
|
|
7
|
-
echo "Updated ${1} version to ${2}"
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
current_version=$(node -p "require('./package').version")
|
|
11
|
-
|
|
12
|
-
printf "Next version (current is $current_version)? "
|
|
13
|
-
read next_version
|
|
14
|
-
|
|
15
|
-
if ! [[ $next_version =~ ^[0-9]\.[0-9]+\.[0-9](-.+)? ]]; then
|
|
16
|
-
echo "Version must be a valid semver string, e.g. 1.0.2 or 2.3.0-beta.1"
|
|
17
|
-
exit 1
|
|
18
|
-
fi
|
|
19
|
-
|
|
20
|
-
next_ref="v$next_version"
|
|
21
|
-
|
|
22
|
-
git add -u
|
|
23
|
-
|
|
24
|
-
npm run build
|
|
25
|
-
npm run format:check
|
|
26
|
-
npm run lint:everything
|
|
27
|
-
npm test
|
|
28
|
-
|
|
29
|
-
update_version 'package.json' $next_version
|
|
30
|
-
|
|
31
|
-
git commit -am "release $next_version"
|
|
32
|
-
git tag $next_version
|
|
33
|
-
|
|
34
|
-
git push --tags
|
|
35
|
-
|
|
36
|
-
npm publish
|
|
1
|
+
#!/bin/bash -e
|
|
2
|
+
|
|
3
|
+
changelog=node_modules/.bin/changelog
|
|
4
|
+
|
|
5
|
+
update_version() {
|
|
6
|
+
echo "$(node -p "p=require('./${1}');p.version='${2}';JSON.stringify(p,null,2)")" > $1
|
|
7
|
+
echo "Updated ${1} version to ${2}"
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
current_version=$(node -p "require('./package').version")
|
|
11
|
+
|
|
12
|
+
printf "Next version (current is $current_version)? "
|
|
13
|
+
read next_version
|
|
14
|
+
|
|
15
|
+
if ! [[ $next_version =~ ^[0-9]\.[0-9]+\.[0-9](-.+)? ]]; then
|
|
16
|
+
echo "Version must be a valid semver string, e.g. 1.0.2 or 2.3.0-beta.1"
|
|
17
|
+
exit 1
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
next_ref="v$next_version"
|
|
21
|
+
|
|
22
|
+
git add -u
|
|
23
|
+
|
|
24
|
+
npm run build
|
|
25
|
+
npm run format:check
|
|
26
|
+
npm run lint:everything
|
|
27
|
+
npm test
|
|
28
|
+
|
|
29
|
+
update_version 'package.json' $next_version
|
|
30
|
+
|
|
31
|
+
git commit -am "release $next_version"
|
|
32
|
+
git tag $next_version
|
|
33
|
+
|
|
34
|
+
git push --tags
|
|
35
|
+
|
|
36
|
+
npm publish
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
require('sqlite3');
|
|
2
|
-
const Knex = require('knex');
|
|
3
|
-
|
|
4
|
-
const knexSqlite = Knex({
|
|
5
|
-
client: 'sqlite',
|
|
6
|
-
connection: ':memory:',
|
|
7
|
-
});
|
|
8
|
-
|
|
9
|
-
// eslint-disable-next-line no-unused-vars
|
|
10
|
-
const knexMysql = Knex({
|
|
11
|
-
client: 'mysql2',
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
const knexPg = Knex({
|
|
15
|
-
client: 'pg',
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
(async function run() {
|
|
19
|
-
await knexSqlite.schema.createTable('test', (t) => {
|
|
20
|
-
t.increments('id').primary();
|
|
21
|
-
t.string('data');
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
await knexSqlite('test').insert([{ data: 'foo' }, { data: 'bar' }]);
|
|
25
|
-
|
|
26
|
-
console.log('test table data:', await knexSqlite('test'));
|
|
27
|
-
|
|
28
|
-
console.log(
|
|
29
|
-
knexPg({ f: 'foo', b: 'bar' })
|
|
30
|
-
.select('foo.*')
|
|
31
|
-
.where('f.name', knexPg.raw('??', ['b.name']))
|
|
32
|
-
.whereIn('something', knexPg('bar').select('id'))
|
|
33
|
-
.toSQL().sql
|
|
34
|
-
);
|
|
35
|
-
})();
|
|
1
|
+
require('sqlite3');
|
|
2
|
+
const Knex = require('knex');
|
|
3
|
+
|
|
4
|
+
const knexSqlite = Knex({
|
|
5
|
+
client: 'sqlite',
|
|
6
|
+
connection: ':memory:',
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
// eslint-disable-next-line no-unused-vars
|
|
10
|
+
const knexMysql = Knex({
|
|
11
|
+
client: 'mysql2',
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
const knexPg = Knex({
|
|
15
|
+
client: 'pg',
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
(async function run() {
|
|
19
|
+
await knexSqlite.schema.createTable('test', (t) => {
|
|
20
|
+
t.increments('id').primary();
|
|
21
|
+
t.string('data');
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
await knexSqlite('test').insert([{ data: 'foo' }, { data: 'bar' }]);
|
|
25
|
+
|
|
26
|
+
console.log('test table data:', await knexSqlite('test'));
|
|
27
|
+
|
|
28
|
+
console.log(
|
|
29
|
+
knexPg({ f: 'foo', b: 'bar' })
|
|
30
|
+
.select('foo.*')
|
|
31
|
+
.where('f.name', knexPg.raw('??', ['b.name']))
|
|
32
|
+
.whereIn('something', knexPg('bar').select('id'))
|
|
33
|
+
.toSQL().sql
|
|
34
|
+
);
|
|
35
|
+
})();
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
# Test scripts to evaluate stability of drivers / pool etc.
|
|
2
|
-
|
|
3
|
-
# To run this test you need to be in this directory + have node >= 8
|
|
4
|
-
# and startup docker containers with proxy and sql servers
|
|
5
|
-
|
|
6
|
-
docker compose up --no-start
|
|
7
|
-
docker compose start
|
|
8
|
-
|
|
9
|
-
# Select different test script to run:
|
|
10
|
-
|
|
11
|
-
node mysql2-random-hanging-every-now-and-then.js 2> /dev/null | grep -B500 -A2 -- "- STATS"
|
|
12
|
-
node mysql2-sudden-exit-without-error
|
|
13
|
-
node knex-stress-test.js | grep -A 3 -- "- STATS "
|
|
14
|
-
node reconnect-test-mysql-based-drivers.js 2> /dev/null | grep -A 3 -- "- STATS "
|
|
15
|
-
|
|
16
|
-
# Shut down docker instances when done:
|
|
17
|
-
|
|
18
|
-
docker compose down
|
|
1
|
+
# Test scripts to evaluate stability of drivers / pool etc.
|
|
2
|
+
|
|
3
|
+
# To run this test you need to be in this directory + have node >= 8
|
|
4
|
+
# and startup docker containers with proxy and sql servers
|
|
5
|
+
|
|
6
|
+
docker compose up --no-start
|
|
7
|
+
docker compose start
|
|
8
|
+
|
|
9
|
+
# Select different test script to run:
|
|
10
|
+
|
|
11
|
+
node mysql2-random-hanging-every-now-and-then.js 2> /dev/null | grep -B500 -A2 -- "- STATS"
|
|
12
|
+
node mysql2-sudden-exit-without-error
|
|
13
|
+
node knex-stress-test.js | grep -A 3 -- "- STATS "
|
|
14
|
+
node reconnect-test-mysql-based-drivers.js 2> /dev/null | grep -A 3 -- "- STATS "
|
|
15
|
+
|
|
16
|
+
# Shut down docker instances when done:
|
|
17
|
+
|
|
18
|
+
docker compose down
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
services:
|
|
2
|
-
toxiproxy:
|
|
3
|
-
image: shopify/toxiproxy
|
|
4
|
-
ports:
|
|
5
|
-
- '8474:8474'
|
|
6
|
-
- '23306:23306'
|
|
7
|
-
- '25432:25432'
|
|
8
|
-
- '25433:25433'
|
|
9
|
-
- '21521:21521'
|
|
10
|
-
- '21433:21433'
|
|
11
|
-
links:
|
|
12
|
-
- 'mysql'
|
|
13
|
-
- 'postgresql'
|
|
14
|
-
- 'pgnative'
|
|
15
|
-
- 'oracledb'
|
|
16
|
-
- 'mssql'
|
|
17
|
-
|
|
18
|
-
mysql:
|
|
19
|
-
image: mysql:5.7
|
|
20
|
-
ports:
|
|
21
|
-
- '33306:3306'
|
|
22
|
-
environment:
|
|
23
|
-
- TZ=UTC
|
|
24
|
-
- MYSQL_ROOT_PASSWORD=mysqlrootpassword
|
|
25
|
-
|
|
26
|
-
postgresql:
|
|
27
|
-
image: mdillon/postgis
|
|
28
|
-
ports:
|
|
29
|
-
- '35432:5432'
|
|
30
|
-
environment:
|
|
31
|
-
- POSTGRES_PASSWORD=postgresrootpassword
|
|
32
|
-
- POSTGRES_USER=postgres
|
|
33
|
-
|
|
34
|
-
pgnative:
|
|
35
|
-
image: mdillon/postgis
|
|
36
|
-
ports:
|
|
37
|
-
- '35433:5432'
|
|
38
|
-
environment:
|
|
39
|
-
- POSTGRES_PASSWORD=postgresrootpassword
|
|
40
|
-
- POSTGRES_USER=postgres
|
|
41
|
-
|
|
42
|
-
oracledb:
|
|
43
|
-
image: quillbuilduser/oracle-18-xe
|
|
44
|
-
ports:
|
|
45
|
-
- '31521:1521'
|
|
46
|
-
environment:
|
|
47
|
-
- ORACLE_ALLOW_REMOTE=true
|
|
48
|
-
|
|
49
|
-
mssql:
|
|
50
|
-
image: microsoft/mssql-server-linux:2017-latest
|
|
51
|
-
ports:
|
|
52
|
-
- '31433:1433'
|
|
53
|
-
environment:
|
|
54
|
-
- ACCEPT_EULA=Y
|
|
55
|
-
- SA_PASSWORD=S0meVeryHardPassword
|
|
1
|
+
services:
|
|
2
|
+
toxiproxy:
|
|
3
|
+
image: shopify/toxiproxy
|
|
4
|
+
ports:
|
|
5
|
+
- '8474:8474'
|
|
6
|
+
- '23306:23306'
|
|
7
|
+
- '25432:25432'
|
|
8
|
+
- '25433:25433'
|
|
9
|
+
- '21521:21521'
|
|
10
|
+
- '21433:21433'
|
|
11
|
+
links:
|
|
12
|
+
- 'mysql'
|
|
13
|
+
- 'postgresql'
|
|
14
|
+
- 'pgnative'
|
|
15
|
+
- 'oracledb'
|
|
16
|
+
- 'mssql'
|
|
17
|
+
|
|
18
|
+
mysql:
|
|
19
|
+
image: mysql:5.7
|
|
20
|
+
ports:
|
|
21
|
+
- '33306:3306'
|
|
22
|
+
environment:
|
|
23
|
+
- TZ=UTC
|
|
24
|
+
- MYSQL_ROOT_PASSWORD=mysqlrootpassword
|
|
25
|
+
|
|
26
|
+
postgresql:
|
|
27
|
+
image: mdillon/postgis
|
|
28
|
+
ports:
|
|
29
|
+
- '35432:5432'
|
|
30
|
+
environment:
|
|
31
|
+
- POSTGRES_PASSWORD=postgresrootpassword
|
|
32
|
+
- POSTGRES_USER=postgres
|
|
33
|
+
|
|
34
|
+
pgnative:
|
|
35
|
+
image: mdillon/postgis
|
|
36
|
+
ports:
|
|
37
|
+
- '35433:5432'
|
|
38
|
+
environment:
|
|
39
|
+
- POSTGRES_PASSWORD=postgresrootpassword
|
|
40
|
+
- POSTGRES_USER=postgres
|
|
41
|
+
|
|
42
|
+
oracledb:
|
|
43
|
+
image: quillbuilduser/oracle-18-xe
|
|
44
|
+
ports:
|
|
45
|
+
- '31521:1521'
|
|
46
|
+
environment:
|
|
47
|
+
- ORACLE_ALLOW_REMOTE=true
|
|
48
|
+
|
|
49
|
+
mssql:
|
|
50
|
+
image: microsoft/mssql-server-linux:2017-latest
|
|
51
|
+
ports:
|
|
52
|
+
- '31433:1433'
|
|
53
|
+
environment:
|
|
54
|
+
- ACCEPT_EULA=Y
|
|
55
|
+
- SA_PASSWORD=S0meVeryHardPassword
|