如何使用gocql在cassandra中创建键空间
有没有办法用gocql在cassandra中创建一个新的键空间?您是否尝试用如何使用gocql在cassandra中创建键空间,go,cassandra,gocql,Go,Cassandra,Gocql,有没有办法用gocql在cassandra中创建一个新的键空间?您是否尝试用会话执行CREARE键空间…。查询?键空间创建只是另一个CQL语句…我认为库中没有任何特定的命令,但它们通过使用create Keyspace命令发出普通查询来创建键空间,作为测试的一部分(复制如下) 有关测试中的问题和源代码链接,请参见此处-尝试了它,但如何创建会话来运行它?方法与文档中描述的相同:cluster:=gocql.NewCluster(“…”);会话,错误:=cluster.CreateSession()
会话执行CREARE键空间…
。查询?键空间创建只是另一个CQL语句…我认为库中没有任何特定的命令,但它们通过使用create Keyspace命令发出普通查询来创建键空间,作为测试的一部分(复制如下)
有关测试中的问题和源代码链接,请参见此处-尝试了它,但如何创建会话来运行它?方法与文档中描述的相同:cluster:=gocql.NewCluster(“…”);会话,错误:=cluster.CreateSession()代码>如何创建一个包含control
属性的会话?session,err:=cluster.CreateSession()应该这样做,但我不确定您是否需要.control属性,这里的示例只是在会话上有查询方法-
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)
}
}