package
3.5.4+incompatible
Repository: https://github.com/theflyingcodr/migrate.git
Documentation: pkg.go.dev
# README
Cassandra
- Drop command will not work on Cassandra 2.X because it rely on system_schema table which comes with 3.X
- Other commands should work properly but are not tested
- The Cassandra driver (gocql) 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
;
. Thusx-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.
- This mode splits the migration text into separately-executed statements by a semi-colon
Usage
cassandra://host:port/keyspace?param1=value¶m2=value2
URL Query | Default value | Description |
---|---|---|
x-migrations-table | schema_migrations | Name of the migrations table |
x-multi-statement | false | Enable multiple statements to be ran in a single migration (See note above) |
port | 9042 | The port to bind to |
consistency | ALL | Migration consistency |
protocol | Cassandra protocol version (3 or 4) | |
timeout | 1 minute | Migration timeout |
username | nil | Username to use when authenticating. |
password | nil | Password to use when authenticating. |
timeout
is parsed using time.ParseDuration(s string)
Upgrading from v1
- Write down the current migration version from schema_migrations
DROP TABLE schema_migrations
- Download and install the latest migrate version.
- Force the current migration version with
migrate force <current_version>
.