Is there any way to create a new keyspace in cassandra with gocql ?
I dont think there is any specific command in the library, but they create keyspaces as part of the tests (copied below) by issuing a normal query with the CREATE KEYSPACE command - https://docs.datastax.com/en/cql/3.3/cql/cql_reference/cqlCreateKeyspace.html
func createKeyspace(tb testing.TB, cluster *ClusterConfig, keyspace string) {
c := *cluster
c.Keyspace = "system"
c.Timeout = 20 * time.Second
session, err := c.CreateSession()
if err != nil {
tb.Fatal("createSession:", err)
}
err = session.control.query(`DROP KEYSPACE IF EXISTS ` + keyspace).Close()
if err != nil {
tb.Fatal(err)
}
err = session.control.query(fmt.Sprintf(`CREATE KEYSPACE %s
WITH replication = {
'class' : 'SimpleStrategy',
'replication_factor' : %d
}`, keyspace, *flagRF)).Close()
if err != nil {
tb.Fatal(err)
}
}
See here for issue and link to source in tests - https://github.com/gocql/gocql/issues/566