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&param2=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>`.