cassandra-migrate
Version:
Cassandra migration for node.
98 lines (65 loc) • 3.11 kB
Markdown
# Cassandra-migrate
Cassandra-migrate is a incremental migration tool for Cassandra.
## Version 1.2.0 update
Just added support for more robust Cassandra client configuration, now you can provide a path to a configuration file that can specify a Cassandra client option object directly as javascript.
Cassandra client options configuration can found [here](http://docs.datastax.com/en/latest-nodejs-driver-api/global.html#ClientOptions). A user
can override the client options file using either the command line flags, or environment variables
## Version 1.1.2 update
the format of the migration table has changed, to facilitate the change over I've included an example migration file (0000000000_updateMigrationTable.js)
that should nondestructivly update the migration table to the new format, just copy it into your migrations folder and run it before running any other migrations
## Features
- Uses the node cassandra-driver to run incremental migrations on Cassandra database.
- Uses Cassandra keyspace mentioned in commandline to keep track of ran migrations.
- Automatically builds and run UP or DOWN until any migration number.
- Creates a new incremental migration template by a single command.
## Installation
Install [node.js](http://nodejs.org/) and [cassandra](http://cassandra.apache.org/) and [cassandra-driver](https://www.npmjs.com/package/cassandra-driver). Then:
```
npm install cassandra-migrate
```
## Overview
### Basic Usage
Creates a new migration with a timestamped migration number ( Used for tracking migrations ).
```
cassandra-migrate create <title>
```
Runs all migrations available in current directory.
```
cassandra-migrate up -k <keyspace>
```
Rolls back all migrations in the migrations table.
```
cassandra-migrate down -k <keyspace>
```
Goes back/forward to a particular migration automatically.
```
cassandra-migrate <up/down> -k <keyspace> -n <migration-number>
```
Skips a particular migration (either adds or removes the migration from the table without running any scripts.
```
cassandra-migrate <up/down> -k <keyspace> -s <migration-number>
```
Define host, username, and password. By default connects to [localhost] and default cassandra port [9042].
```
cassandra-migrate -H [10.10.10.1] -u username -p password
```
Cassandra connection details can also be specified in environmental variables
```
DBHOST : sets hostname
DBKEYSPACE : sets keyspace
DBUSER : sets username
DBPASSWORD : sets password;
```
As of 1.2.0 Cassandra connection details can now also be specified in configuration file [example](https://github.com/rleenders/cassandra-migrate/blob/options-file-flag/examples/sampleOptionFile.js) you can point to the file's relative path with:
```
cassandra-migrate -o <path/to/file.js>
```
More help.
```
cassandra-migrate --help
```
## License
cassandra-migrate is distributed under the [MIT license](http://opensource.org/licenses/MIT).
## Contributions
Feel free to join in and support the project!
Check the [Issue tracker](https://github.com/rleenders/cassandra-migrate/issues)