# node-cassandra-migration **Repository Path**: mirrors_codecentric/node-cassandra-migration ## Basic Information - **Project Name**: node-cassandra-migration - **Description**: Simple schema migration tool for Apache Cassandra - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2026-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Cassandra Migration =========== Migrates the schema of Cassandra based on the definition contained within CQL files matching the specified naming convention in the specified directory. Installation ============ ```bash npm install --save cassandra-migration ``` Execution ========= By default the script will look for a file named migrate.json Run the script ```bash cassandra-migration migrate.json ``` Config File =========== The configuration file contains general options at the top level and the cassandra connection configuration. The `cassandra` section should comply with the the configuration supported by the cassandra-driver module. All other sections provide directives to the tool itself. The keyspace is required, and must be created outside of the migrations. The `schema_version` table will be created within this keyspace. Example config: ```json { "migrationsDir": "cassandra/schema/migrations", "quiet": false, "cassandra": { "contactPoints": [ "cass0", "cass1" ], "keyspace": "data", "protocolOptions": { "port": 9042 }, "socketOptions": { "connectTimeout": 15000 } }, "auth": { "username": "foo", "password": "bar" } } ``` The `auth` section of the config is optional. Migration Files =============== The migration files should all be reside at the root level of the directory specified by `migrationDir` in the config file. Each configuration file should follow the format `__.cql` Each query statement within the file should be separated by three hyphens: `---` Example: ``` CREATE TABLE my_keyspace.my_first_table ( id int PRIMARY KEY, name text, record_timestamp timestamp ); --- CREATE TABLE my_keyspace.my_second_table ( id int PRIMARY KEY, description text, record_timestamp timestamp ); ``` Building ============ cake build