Class: CassandraObject::Schema
- Inherits:
-
Object
- Object
- CassandraObject::Schema
- Extended by:
- Tasks
- Defined in:
- lib/cassandra_object/schema.rb,
lib/cassandra_object/schema/tasks.rb
Defined Under Namespace
Modules: Tasks
Constant Summary collapse
- DEFAULT_CREATE_KEYSPACE =
{ 'strategy_class' => 'SimpleStrategy', 'strategy_options:replication_factor' => 1 }
Class Method Summary collapse
- .add_index(column_family, column, index_name = nil) ⇒ Object
- .alter_column_family(column_family, instruction, options = {}) ⇒ Object
- .create_column_family(column_family, options = {}) ⇒ Object
- .create_keyspace(keyspace, options = nil) ⇒ Object
- .create_table(table_name, options = {}) ⇒ Object
- .drop_column_family(column_family) ⇒ Object
-
.drop_index(index_name) ⇒ Object
If the index was not given a name during creation, the index name is <columnfamily_name>_<column_name>_idx.
- .drop_keyspace(keyspace) ⇒ Object
Methods included from Tasks
Class Method Details
.add_index(column_family, column, index_name = nil) ⇒ Object
45 46 47 48 |
# File 'lib/cassandra_object/schema.rb', line 45 def add_index(column_family, column, index_name = nil) stmt = "CREATE INDEX #{index_name.nil? ? '' : index_name} ON #{column_family} (#{column})" keyspace_execute stmt end |
.alter_column_family(column_family, instruction, options = {}) ⇒ Object
36 37 38 39 |
# File 'lib/cassandra_object/schema.rb', line 36 def alter_column_family(column_family, instruction, = {}) stmt = "ALTER TABLE #{column_family} #{instruction}" keyspace_execute (stmt, ) end |
.create_column_family(column_family, options = {}) ⇒ Object
25 26 27 |
# File 'lib/cassandra_object/schema.rb', line 25 def create_column_family(column_family, = {}) create_table column_family, end |
.create_keyspace(keyspace, options = nil) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/cassandra_object/schema.rb', line 13 def create_keyspace(keyspace, = nil) stmt = "CREATE KEYSPACE #{keyspace}" ||= DEFAULT_CREATE_KEYSPACE system_execute (stmt, ) end |
.create_table(table_name, options = {}) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/cassandra_object/schema.rb', line 29 def create_table(table_name, = {}) stmt = "CREATE COLUMNFAMILY #{table_name} " + "(KEY varchar PRIMARY KEY)" keyspace_execute (stmt, ) end |
.drop_column_family(column_family) ⇒ Object
41 42 43 |
# File 'lib/cassandra_object/schema.rb', line 41 def drop_column_family(column_family) keyspace_execute "DROP TABLE #{column_family}" end |
.drop_index(index_name) ⇒ Object
If the index was not given a name during creation, the index name is <columnfamily_name>_<column_name>_idx.
51 52 53 |
# File 'lib/cassandra_object/schema.rb', line 51 def drop_index(index_name) keyspace_execute "DROP INDEX #{index_name}" end |
.drop_keyspace(keyspace) ⇒ Object
21 22 23 |
# File 'lib/cassandra_object/schema.rb', line 21 def drop_keyspace(keyspace) system_execute "DROP KEYSPACE #{keyspace}" end |