github.com/bdollma-te/migrate/v4@v4.17.0-clickv2/database/cassandra/README.md (about) 1 # Cassandra / ScyllaDB 2 3 * `Drop()` method will not work on Cassandra 2.X because it rely on 4 system_schema table which comes with 3.X 5 * Other methods should work properly but are **not tested** 6 * The Cassandra driver (gocql) does not natively support executing multiple 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: 7 * 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. 8 * The queries are not executed in any sort of transaction/batch, meaning you are responsible for fixing partial migrations. 9 10 **ScyllaDB** 11 12 * No additional configuration is required since it is a drop-in replacement for Cassandra. 13 * The `Drop()` method` works for ScyllaDB 5.1 14 15 16 ## Usage 17 `cassandra://host:port/keyspace?param1=value¶m2=value2` 18 19 20 | URL Query | Default value | Description | 21 |------------|-------------|-----------| 22 | `x-migrations-table` | schema_migrations | Name of the migrations table | 23 | `x-multi-statement` | false | Enable multiple statements to be ran in a single migration (See note above) | 24 | `port` | 9042 | The port to bind to | 25 | `consistency` | ALL | Migration consistency 26 | `protocol` | | Cassandra protocol version (3 or 4) 27 | `timeout` | 1 minute | Migration timeout 28 | `connect-timeout` | 600ms | Initial connection timeout to the cluster | 29 | `username` | nil | Username to use when authenticating. | 30 | `password` | nil | Password to use when authenticating. | 31 | `sslcert` | | Cert file location. The file must contain PEM encoded data. | 32 | `sslkey` | | Key file location. The file must contain PEM encoded data. | 33 | `sslrootcert` | | The location of the root certificate file. The file must contain PEM encoded data. | 34 | `sslmode` | | Whether or not to use SSL (disable\|require\|verify-ca\|verify-full) | 35 | `disable-host-lookup`| false | Disable initial host lookup. | 36 37 `timeout` is parsed using [time.ParseDuration(s string)](https://golang.org/pkg/time/#ParseDuration) 38 39 40 ## Upgrading from v1 41 42 1. Write down the current migration version from schema_migrations 43 2. `DROP TABLE schema_migrations` 44 4. Download and install the latest migrate version. 45 5. Force the current migration version with `migrate force <current_version>`.