[server] fix bucket creation for couchbase
Run create bucket query only if bucket is not found. Required while running couchbase cloud version
This commit is contained in:
parent
8212e81023
commit
4b26e1ce85
|
@ -107,14 +107,23 @@ func CreateBucketAndScope(cluster *gocb.Cluster, bucketName string, scopeName st
|
||||||
FlushEnabled: true,
|
FlushEnabled: true,
|
||||||
CompressionMode: gocb.CompressionModeActive,
|
CompressionMode: gocb.CompressionModeActive,
|
||||||
}
|
}
|
||||||
|
shouldCreateBucket := false
|
||||||
|
// check if bucket exists
|
||||||
|
_, err = cluster.Buckets().GetBucket(bucketName, nil)
|
||||||
|
if err != nil {
|
||||||
|
// bucket not found
|
||||||
|
shouldCreateBucket = true
|
||||||
|
}
|
||||||
|
if shouldCreateBucket {
|
||||||
err = cluster.Buckets().CreateBucket(gocb.CreateBucketSettings{
|
err = cluster.Buckets().CreateBucket(gocb.CreateBucketSettings{
|
||||||
BucketSettings: settings,
|
BucketSettings: settings,
|
||||||
ConflictResolutionType: gocb.ConflictResolutionTypeSequenceNumber,
|
ConflictResolutionType: gocb.ConflictResolutionTypeSequenceNumber,
|
||||||
}, nil)
|
}, nil)
|
||||||
bucket := cluster.Bucket(bucketName)
|
|
||||||
if err != nil && !errors.Is(err, gocb.ErrBucketExists) {
|
if err != nil && !errors.Is(err, gocb.ErrBucketExists) {
|
||||||
return bucket, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
bucket := cluster.Bucket(bucketName)
|
||||||
if scopeName != defaultScope {
|
if scopeName != defaultScope {
|
||||||
err = bucket.Collections().CreateScope(scopeName, nil)
|
err = bucket.Collections().CreateScope(scopeName, nil)
|
||||||
if err != nil && !errors.Is(err, gocb.ErrScopeExists) {
|
if err != nil && !errors.Is(err, gocb.ErrScopeExists) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user