migrate/database/clickhouse
Lukas Joergensen 480a5a634a postgres: Move lock out of ensureVersionTable, for consistency with other SQL operations (#173)
* Consistently lock in ensureVersionTable and do not call ensureVersionTable from Drop across all database implementations

* Add test for dropping postgres databases

* Fix failing database tests

* Fix CockroachDb test, lock table should be created before versionTable

* Add Initialize() to Driver interface, and add integration tests for Drop() between database implementations and migrate

* Remove Initialize, document breaking behaviour of Drop

* Revert introduction of Initialize method

* Removed Initialize in Stub as well

* Remove call to non-existent Initialize and make sure to close re-initialized database connections

* Revert changes to TestDrop in database/testing

* Split Test and TestMigrate into different test entrypoints

* Remove unused import in migrate_testing

* Remove erroneous code to fix tests

* Add stub source imports to database tests

* Add Stub source to migrate tests

* Use example migrations for tests

* Add file driver to database tests

* Align database directory layout

* Add file source driver to Cassandra

* Review changes

* Minor syntactic change for cleaner diff
2019-02-26 15:56:57 -08:00
..
examples/migrations Add WithInstance 2017-06-21 17:06:04 +03:00
README.md add support for the multiline clickhouse queries 2018-08-03 16:08:47 +10:00
clickhouse.go postgres: Move lock out of ensureVersionTable, for consistency with other SQL operations (#173) 2019-02-26 15:56:57 -08:00

README.md

ClickHouse

clickhouse://host:port?username=user&password=qwerty&database=clicks&x-multi-statement=true

URL Query Description
x-migrations-table Name of the migrations table
database The name of the database to connect to
username The user to sign in as
password The user's password
host The host to connect to.
port The port to bind to.
x-multi-statement false

Notes

  • The Clickhouse driver does not natively support executing multipe statements in a single query. To allow for multiple statements in a single migration, you can use the x-multi-statement param. There are two important caveats:
    • This mode splits the migration text into separately-executed statements by a semi-colon ;. Thus x-multi-statement cannot be used when a statement in the migration contains a string with a semi-colon.
    • The queries are not executed in any sort of transaction/batch, meaning you are responsible for fixing partial migrations.