Sha256: f1974fe7315db54a6abdf725aa530333780808ad0748068080b2aaef370060b4

Contents?: true

Size: 1012 Bytes

Versions: 6

Compression:

Stored size: 1012 Bytes

Contents

module CassandraObject
  class Schema
    class << self
      def create_keyspace(keyspace)
        system_execute "CREATE KEYSPACE #{keyspace} " +
                       "WITH strategy_class = SimpleStrategy " +
                       " AND strategy_options:replication_factor = 1"
      end

      def drop_keyspace(keyspace)
        system_execute "DROP KEYSPACE #{keyspace}"
      end

      def create_column_family(column_family)
        execute "CREATE COLUMNFAMILY #{column_family} " +
                "(KEY varchar PRIMARY KEY)"
      end

      def alter_column_family_with(with)
        execute "ALTER TABLE users WITH #{with}"
      end

      def add_index()
        
      end

      private
        def execute(cql)
          CassandraObject::Base.execute_cql cql
        end

        def system_execute(cql)
          @system_cql ||= CassandraCQL::Database.new(CassandraObject::Base.connection_config[:servers], keyspace: 'system')
          @system_cql.execute cql
        end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
gotime-cassandra_object-4.2.2 lib/cassandra_object/schema.rb
gotime-cassandra_object-4.2.0 lib/cassandra_object/schema.rb
gotime-cassandra_object-4.1.0 lib/cassandra_object/schema.rb
gotime-cassandra_object-4.0.2 lib/cassandra_object/schema.rb
gotime-cassandra_object-4.0.1 lib/cassandra_object/schema.rb
gotime-cassandra_object-4.0.0 lib/cassandra_object/schema.rb