* Fixed passing connection errors directly to the query
* Added missing use strict and fixed select to be oracle compatible.
* Fixed dialect name which is mixed in different configs
* Oracledb didnt have database config attribute
* Throw error on non-string table comment
* add unit tests for all dialects
* removed non-valid comments retyping to ''
* Change dockerode version
* reverted dockerode version locking
* added object syntax for aliases
* added mixed tests for alias pair feature
* fixed double aliasing for subqueries
* fixed last untested commit
* Added support for passing query builder inside object syntax and using the syntax in raw identifiers
The aggregate methods include `count`, `min`, `max`, `sum`, `avg`,
`countDistinct`, `sumDistinct`, and `avgDistinct`, all of which
can now receive raw expressions, e.g.
```js
knex('users').count(knex.raw("data->'active'"));
```
There seems to be some demand for this, and I think it's cleaner than the alternative of
```js
knex('users').select(knex.raw("count(data->'active')"));
```
* Fix connection error propagation when streaming
If stream() is used without a handler, make sure to emit connection
errors on the stream itself.
* Test stream error emission
* Improve test
* Removed check increments check on the modifiers. Implemented a default lookup map on the generic columncompiler
* Ignore VS Code User Workspace Settings
* Added test case to assert comments are added to increments columns
* Shortened line length and added explicit db tests for postgres and mysql dialects
* Added check for modifiers on incrementing types and only allow comment modifiers
* Exposed also positionBinding method to client base class and refactored calls to em
* Added toSQL().toNative() getter which returns dialect specfic sql and bindings.
* Refactored toSQL method implementation
* 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
* 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
* 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.
* 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.
* 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..)
* Added support for altering columns
* Add mysql dialect key for alter (modify)
* Added tests for .alter()
* Updated dialects for .alter() on column
* .alter() for mssql and tests
* Added an error for sqlite3 alter column
Sqlite does not support alter column at all
* Implemented schema alter column support for postgresql
* Added unit test for alter column and fixed postgres implementation
* Add test case for adding multiple columns at once (oracle check)
* Try upgrading CI mysql / postgres and distro
* Disabled adding multiple columns test from oracle
* Fixed node 0.12 test compatibility
* Fixed review comments
* Allow casting when using named bindings.
* Remove template string in test.
* Only replace matches that are member to the bindings object.
* Slight refactor for tests.
* Simplify regex.
* Allow casting on named identifiers.
Check for rollback failures on mssql and pass them through to the transaction promise-- attaching the underlying cause as an 'originalError' property. This fixes a hang when mssql server aborts a transaction and the client issues a rollback.
* adding support for ONLY keyword for PostgreSQL as an optional flag of from() and into() through table(tableName, only)
* passing only parameter from default function was missing
* changing only option to options object with only key
* better style per @wubzz suggestion