documentation/Reference/Database Driver Reference/Couchbase.md
{% include database-boilerplate.html %}
| Item | Details |
|---|---|
| URL format | couchbases://cb.<cluster-id>.cloud.couchbase.com |
| SSL support | No |
| Ships with Flyway Command-line | Yes |
| Maven Central coordinates | n/a |
| Supported versions | 7 |
| Default Java class | com.couchbase.client |
We have to map Flyway concepts and language rooted in the relational database world to Couchbase - this is how Flyway sees the mapping:
| Couchbase Concept | Flyway Concept |
|---|---|
| bucket + scope | schema |
| collection | table |
| document | row |
Since Couchbase has no default schema, you must define at least one schema, using either the defaultSchema parameter or the schemas parameter.
The schema can be specified in two ways:
As {String}, Flyway interprets this string as the bucket name. In this case, Flyway uses _default as the default scope.
As {String.String}, Flyway splits the value at the . character, treating the first part as the bucket name and the second part as the scope name.
Couchbase does not support embedding credentials (username and password) in the connection URL. Credentials must instead be provided separately through parameters in the Flyway Environment namespace.
[environments.sample]
url = "couchbases://cb.<cluster-id>.cloud.couchbase.com"
user = "user"
password = "password"
[flyway]
environment = "sample"
defaultSchema = "bucket.scope"
scope, but does not support creating or dropping bucket.SLF4J binding may appear. This is a known issue and is under investigation.Native Connectors mode. If the environment variable FLYWAY_NATIVE_CONNECTORS is set to false then Flyway will be unable to operate and will output an error "No Flyway database plugin found to handle ...".