* Bugfix for issue #1979
* The problem was that dropColumn method in sqlite3
Compiler was using only first argument it got from
apply
* Reworked to use 'arguments' instead
* Added `loadExtensions` parameter to filter which migrations and seeds will be executed
* `loadExtensions` now includes all supported extensions by default
Also added unit tests for modified code
* Fixing docker CI tests
* Removed support for node 0.12 and added node 8 to CI
* Trying to fix babel issue happening on node 8
* Could not reproduce the problem on local install... disabling node 8 travis tests for now.
* Tests for setting comment on table for postgresql, mysql and oracle
* No tests for sqlite as it does not seem to support comments
* No tests for mssql as it can not be tested simply using sql comparison
* Test composition of two cross joins
* Test cross-join with 'on' statement
(same as inner join) only for sqlite3 and mysql
because not supported elsewhere
When passing a falsy value to transacting a new transaction is created but autoTransaction is set to false so the created transaction is never committed or rolled back.
* fixes#1833 on postgres
* adds @elhigu requested changes
* adds test when database is down
* adds script for docker support
* removes old comment
* fixes syntax
* fixes more syntax errors
* fixes final syntax errors
* Docker testing enabled only on linux for now
* compatible node-mssql 4.0.0
compatible with 3.3.0 & 4.0.1
tgriesser/knex#1999
* Fix format ESLint max-len 100
eslint src/**
src/dialects/mssql/index.js
77:1 error Line 77 exceeds the maximum line length of 100 max-len
* node-mssql 4
* add package mssql-node to dev
* fixed table alter attribute order. (first, after)
* add test cases, alter table position with comment.
* add real database test cases.
* after, first tests only mysql or mariadb.
There has been many PRs which are changing what kind of queries are sent to DB without any real tests that also checks that sent queries are doing the things that they are supposed to do. To be able to make sure that those new queries actually work, in addition to unit tests it is crucial to have some integration tests as well to be able to guarantee that everything won't be broken after the changes.
* Add optional parameter fetchAsString to oracledb
* Add some checks to oracle fetchAsString
* use const instead of let
* add fetchAsString test
* change const to var in tests
* move oracle driver specific test to bottom
* fix fetchAsSting multiple instance
* Fix tests
* replace const to var in test
* Rework Oracle fetchAsString tests
* remove const
* remove done and timeout
* Use transaction for entire migration batch + locking if all migrations are transactional.
* Fix tests.
Use knex instead of query builder.
Do no use single transaction if `disableTransactions` is true.
* Added tests for parallel migrations.
Subtract already done migrations after getting the lock, when there is a wrapping transaction.
* Fix indentation.
* Fix linting errors (which are locally warnings, for some reason).
* Remove `const` keyword.
Remove obsolete `it` clauses.
* No maria. PG first.
* Test only pg and oracle.
* Remove error swallowing.
* Test parallel migration only in postgres (select for update works differently in other databases).
* Add transaction to missed places.
* Remove ignored table name argument.
* Enabled parallel migrations test for `mssql` dialect (still not part of CI test).
Fixed indentation.
* # This is a combination of 3 commits.
# The first commit's message is:
Allow passing config.version variable to knex instead of parsing the DB version from string returned form DB server.
This makes it possible to connect custom databases which are compatible with an official database of certain version.
# The 2nd commit message will be skipped:
# Update checkVersion
#
# To use `const` instead of `let` to fix lint error
# The 3rd commit message will be skipped:
# Revert "Update checkVersion"
#
# This reverts commit 248907decb94f0df2f2b3b9fe114738fb48394fc.
* Allow passing config.version variable to knex instead of parsing the DB version from string returned form DB server.
This makes it possible to connect custom databases which are compatible with an official database of certain version.
Without calling `close()`, the `queryStream` will continue to execute a
query meaning there was no way to halt a long running query due to an
unrecoverable downstream error. I ran into this issue while streaming
IDs from a very large table as part of an ETL process. An error would
occur downstream in the transformation or loading step and I needed to
cancel the long-running extract stream, but there was no way to do so
and I'd eventually run out of connections in the pool.
This commit also handles the case when the non-callback version of
stream API was used and an exception was thrown. The issue was that the
promise was not reachable and therefore there was no way to add a
rejection handler. This resulted in an unavoidable `Unhandled Promise
Rejection` error.
* Added support for custom foreign key name
* Update unit test for #1311
* Fix TableCompiler::foreign to respect previous behavior + typo
* Add dialect specific unit tests
* Fixed comment
Actually trying to trigger travis to run tests with latest travis configuration... (maybe it just doesn't run tests against merged branch..)