12
13
// CreateCassandraKeyspace creates the keyspace using this session for given replica count
14
>
func CreateCassandraKeyspace(s gocql.Session, keyspace string, replicas int, overwrite bool, logger log.Logger) (err error) {
helpers.go
15
>
// if overwrite flag is set, drop the keyspace and create a new one
16
>
if overwrite {
17
>
err = DropCassandraKeyspace(s, keyspace, logger)
18
>
if err != nil {
19
logger.Error("drop keyspace error", tag.Error(err))
20
return
21
}
22
}
23
>
err = s.Query(fmt.Sprintf(`CREATE KEYSPACE IF NOT EXISTS %s WITH replication = {
helpers.go
24
>
'class' : 'SimpleStrategy', 'replication_factor' : %d}`, keyspace, replicas)).Exec()
25
>
if err != nil {
26
logger.Error("create keyspace error", tag.Error(err))
27
return
28
}
29
>
logger.Debug("created keyspace", tag.Value(keyspace))
helpers.go
30
>
31
>
return
32
}
33
34
// DropCassandraKeyspace drops the given keyspace, if it exists
35
>
func DropCassandraKeyspace(s gocql.Session, keyspace string, logger log.Logger) (err error) {
helpers.go
36
>
err = s.Query(fmt.Sprintf("DROP KEYSPACE IF EXISTS %s", keyspace)).Exec()
37
>
if err != nil {
38
logger.Error("drop keyspace error", tag.Error(err))
39
return
40
}
41
>
logger.Debug("dropped keyspace", tag.Value(keyspace))
helpers.go
42
>
return
43
}