cassandra

package
v0.15.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 22, 2020 License: MIT Imports: 0 Imported by: 0

README

What

This directory contains the cassandra schema for every keyspace that cadence owns. The directory structure is as follows

./schema
   - keyspace1/
   - keyspace2/
        - keyspace.cql     -- Contains the keyspace definition
        - schema.cql       -- Contains the latest & greatest snapshot of the schema for the keyspace
        - versioned
             - v0.1/
             - v0.2/       -- One directory per schema version change
             - v1.0/
                - manifest.json   -- json file describing the change
                - changes.cql     -- changes in this version, only [CREATE, ALTER] commands are allowed

How

Q: How do I update existing schema ?

  • Add your changes to schema.cql
  • Create a new schema version directory under ./schema/keyspace/versioned/vx.x
    • Add a manifest.json
    • Add your changes in a cql file
  • Update the unit test within ./tools/cassandra/updateTask_test.go TestDryrun with your version x.x
  • Once you are done with these use the ./cadence-cassandra-tool to update the schema

Q: What's the format of manifest.json

Example below:

  • MinCompatibleVersion is the minimum schema version that your code can handle
  • SchemaUpdateCqlFiles are list of .cql files containg your create/alter commands
{
    "CurrVersion": "0.1",
    "MinCompatibleVersion": "0.1",
    "Description": "base version of schema",
    "SchemaUpdateCqlFiles": [
        "base.cql"
    ]
}

Documentation

Index

Constants

View Source
const Version = "0.29"

Version is the Cassandra database release version

View Source
const VisibilityVersion = "0.5"

VisibilityVersion is the Cassandra visibility database release version

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL