Skip to content

gabynaiman/cassandra_db

Repository files navigation

CassandraDB

Gem Version CI Coverage Status Code Climate

Cassandra DB adapter inspired on Sequel

Installation

Add this line to your application's Gemfile:

gem 'cassandra_db'

And then execute:

$ bundle

Or install it yourself as:

$ gem install cassandra_db

Usage

Connect

db = CassandraDB.connect hosts: ['localhost'], port: 9042, keyspace: 'system'

Metadata

db.keyspace # => :system

db.keyspaces # => [:system, :system_traces]

db.tables # => Array of table names in current keyspace

Change keyspace

db.use_keyspace 'my_keyspace'
db.keyspace # => :my_keyspace

Create and drop keyspaces

replication_opts = {
  class: 'SimpleStrategy',
  replication_factor: 1
}
db.create_keyspace :my_keyspace, replication: replication_opts, durable_writes: true

db.drop_keyspace :my_keyspace

Queries

dataset = db[table_name] # => CassandraDB::Dataset
dataset = db[table_name].where(field: 'value') # => CassandraDB::Dataset

Dataset/Enumerable methods

dataset.count
dataset.each
dataset.map
dataset.all

Insert, Update, Delete

dataset.insert id: 1, name: 'Name 1'

dataset.where(id: 1).update name: 'Name 2'

dataset.where(id: 1).delete

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/gabynaiman/cassandra_db.

License

The gem is available as open source under the terms of the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages