db-migrate-cb
This is a driver for couchbase data migrations. It is based on the db-migrate
Getting Started
npm install db-migrate
npm install db-migrate-cb
Configuration
To use this driver, create a database.json
file with information similar to the following:
{
"defaultEnv": "dev",
"dev": {
"driver": "cb",
"host": "couchbase://localhost",
"username": "username",
"password": "password",
"bucket": "default"
}
}
Create a migration
You can create a migration with the following command:
db-migrate create <file_name>
API
Create Collection
You may call createCollection
to create a collection in the bucket.
'use strict';
var dbm;
var type;
var seed;
exports.setup = function (options, seedLink) {
dbm = options.dbmigrate;
type = dbm.dataType;
seed = seedLink;
};
exports.up = async function (db) {
await db.createCollection('test');
};
exports.down = async function (db) {
await db.dropCollection('test');
};
exports._meta = {
version: 1,
};
Pass in the second parameter to createCollection
to specify the scope. By default, the scope is _default
.
exports.up = async function (db) {
await db.createCollection('test', 'my_scope');
};
Drop Collection
You may call dropCollection
to create a collection in the bucket.
Pass in the second parameter to dropCollection
to specify the scope. By default, the scope is _default
.
exports.down = async function (db) {
await db.dropCollection('test', 'my_scope');
};
Create Index
You may call createIndex
to create an index in the bucket.
exports.up = async function (db) {
await db.createIndex('test', 'test_index', ['test']);
};
Drop Index
You may call dropIndex
to drop an index in the bucket.
exports.down = async function (db) {
await db.dropIndex('test', 'test_index');
};
Create Scope
You may call createScope
to create a scope in the bucket.
exports.up = async function (db) {
await db.createScope('new_scope');
};
Drop Scope
You may call dropScope
to drop a scope in the bucket.
exports.down = async function (db) {
await db.dropScope('new_scope');
};