2

I am trying to use golang-migrate library for cassandra migrations.

In the Docs, they have mentioned to use cassandra url like this

cassandra://host:port/keyspace?param1=value&param2=value2

We will be having more than one host for cassandra.

Do I need to loop for each host and run migrations separately? or is there is any other way?

Jonathan Hall
  • 75,165
  • 16
  • 143
  • 189
Gokul Raj Kumar
  • 335
  • 2
  • 9
  • I don't think there is any other way, as library author is using `url.Parse` for parsing the `URL` as web doesn't allow multiple 'ip''s to be included in single `URL`, you need to loop over each one. – nilsocket Oct 04 '18 at 08:48

1 Answers1

1

The ALTER should be realised / replicated across the cluster. Migrate uses the highest level of consistency (ALL / https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlshConsistency.html) so it's the best choice if your hosts are within a cluster.

If the hosts aren't in a cluster, then hand rolling and applying the migrations for each host is the only option.

Martin Gallagher
  • 4,444
  • 2
  • 28
  • 26