class ThirdModel(Model): __table_name__ = 'first_model' first_key = columns.UUID(primary_key=True) second_key = columns.UUID() third_key = columns.Text() # removed fourth key, but it should stay in the DB blah = columns.Map(columns.Text, columns.Text)
class SecondModel(Model): __keyspace__ = 'test' __table_name__ = 'first_model' first_key = columns.UUID(primary_key=True) second_key = columns.UUID() third_key = columns.Text() fourth_key = columns.Text()
class FourthModel(Model): __table_name__ = 'first_model' first_key = columns.UUID(primary_key=True) second_key = columns.UUID() third_key = columns.Text() # removed fourth key, but it should stay in the DB renamed = columns.Map(columns.Text, columns.Text, db_field='blah')
class Event(BaseModel): user_id = columns.Text(primary_key=True) # partition key event_id = columns.UUID(primary_key=True, default=uuid.uuid4) date_start = columns.DateTime() end_date = columns.DateTime() description = columns.Text() rrule_id = columns.UUID() latitude = columns.Float() longitude = columns.Float()
class AlterTable(Model): __compaction__ = LeveledCompactionStrategy __compaction_sstable_size_in_mb__ = 64 user_id = columns.UUID(primary_key=True) name = columns.Text()
class TestIfNotExistsModel(Model): __keyspace__ = 'cqlengine_test_lwt' id = columns.UUID(primary_key=True, default=lambda: uuid4()) count = columns.Integer() text = columns.Text(required=False)
class AllLeveledOptionsModel(Model): __keyspace__ = 'test' __compaction__ = LeveledCompactionStrategy __compaction_sstable_size_in_mb__ = 64 cid = columns.UUID(primary_key=True) name = columns.Text()
class LeveledcompactionTestTable(Model): __keyspace__ = 'test' __compaction__ = LeveledCompactionStrategy __compaction_sstable_size_in_mb__ = 64 user_id = columns.UUID(primary_key=True) name = columns.Text()
class NonEqualityFilteringModel(Model): __keyspace__ = 'test' example_id = columns.UUID(primary_key=True, default=uuid.uuid4) sequence_id = columns.Integer( primary_key=True) # sequence_id is a clustering key example_type = columns.Integer(index=True) created_at = columns.DateTime()
class Relationship(Model): __table_name__ = "relationships" user = columns.Text(primary_key=True) target_user = columns.Text(primary_key=True) relationship_id = columns.UUID(default=uuid4()) creationdate = columns.DateTime(default=datetime.datetime.now()) status = columns.Text() # active, pending, retired, deleted type = columns.Text() # following, friend
class RRule(BaseModel): """Recurrence Rule""" user_id = columns.Text(primary_key=True) # partition key rrule_id = columns.UUID(primary_key=True, default=uuid.uuid4) type = columns.Text() occurrence = columns.Integer(default=1) value = columns.Integer() events = columns.List(columns.UUID)
class TestQueryUpdateModel(Model): partition = columns.UUID(primary_key=True, default=uuid4) cluster = columns.Integer(primary_key=True) count = columns.Integer(required=False) text = columns.Text(required=False, index=True) text_set = columns.Set(columns.Text, required=False) text_list = columns.List(columns.Text, required=False) text_map = columns.Map(columns.Text, columns.Text, required=False)
class Comment(Model): object_id = columns.UUID(primary_key = True) id = columns.TimeUUID(primary_key = True, default=uuid1, clustering_order="desc") author = columns.Text(primary_key=True) created_at = columns.DateTime(default=datetime.datetime.now()) updated_at = columns.DateTime() view_count = columns.Integer(default=0) like_count = columns.Integer(default=0) body = columns.Text()
class Contact(BaseModel): contact_id = columns.UUID(primary_key=True, default=uuid.uuid4) user_id = columns.Text(primary_key=True) first_name = columns.Text() last_name = columns.Text() date_insert = columns.DateTime() date_update = columns.DateTime() groups = columns.List(columns.Text) # Abstract everything else in a map infos = columns.Map(columns.Text, columns.Text)
class AllSizeTieredOptionsModel(Model): __compaction__ = SizeTieredCompactionStrategy __compaction_bucket_low__ = .3 __compaction_bucket_high__ = 2 __compaction_min_threshold__ = 2 __compaction_max_threshold__ = 64 __compaction_tombstone_compaction_interval__ = 86400 cid = columns.UUID(primary_key=True) name = columns.Text()
class geo_tweet(Model): tweet_id = columns.UUID(primary_key=True, default=uuid.uuid4) created_at_year = columns.Integer(primary_key=True) created_at_month = columns.Integer(primary_key=True) created_at_day = columns.Integer(primary_key=True) created_at_time = columns.Integer(primary_key=True) status = columns.Text(required=True) hashtags = columns.Set(columns.Text()) author_user_name = columns.Text() author_image = columns.Text()
class ModelWithTableProperties(Model): __keyspace__ = 'test' # Set random table properties __bloom_filter_fp_chance__ = 0.76328 __caching__ = CACHING_ALL __comment__ = 'TxfguvBdzwROQALmQBOziRMbkqVGFjqcJfVhwGR' __gc_grace_seconds__ = 2063 __populate_io_cache_on_flush__ = True __read_repair_chance__ = 0.17985 __replicate_on_write__ = False __dclocal_read_repair_chance__ = 0.50811 key = columns.UUID(primary_key=True)
class Base(object): id = columns.UUID(primary_key=True, default=uuid.uuid4()) __abstract__ = True __table__ = None def __init__(self): if not "created_at" in self.__dict__.keys(): self.__dict__["created_at"] = columns.DateTime().to_database( datetime.now()) @property def class_name(self): if self.__table__: return self.__table__ else: s1 = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', self.__class__.__name__) s1 = re.sub('([a-z0-9])([A-Z])', r'\1_\2', s1).lower() return "_".join(s1.split("_")[:-2]) def save(self): if "id" in self.__dict__.keys(): id_uuid = self.__dict__["id"] del self.__dict__["id"] return es.index(index="id", doc_type=self.class_name, id=id_uuid, body=self.__dict__) else: return es.index(index="id", doc_type=self.class_name, id=uuid.uuid4(), body=self.__dict__) def save_cassandra_in_elasticsearch(self, obj): for atributo in obj.keys(): if hasattr(self, atributo): setattr(self, atributo, getattr(obj, atributo)) return self.save() def count(self): return es.count(index="id", doc_type=self.class_name)['count'] def find(self, size=100): return es.search(index="id", doc_type=self.class_name, size=size, sort={'created_at': 'desc'})['hits']['hits']
class User(Model): __table_name__ = "users" """ Model for the User. Will be using this as the auth model. """ username = columns.Text(primary_key=True) jiveuserid = columns.Integer(partition_key=True) creationdate = columns.DateTime() email = columns.Text(partition_key=True) firstlogin = columns.Boolean() firstname = columns.Text() lastloggedin = columns.DateTime() lastname = columns.Text() lastprofileupdate = columns.DateTime() password = columns.Text() userid = columns.UUID(default=uuid4())
class Base(Model): id = columns.UUID(primary_key=True, default=uuid.uuid4()) created_at = columns.Integer(default=columns.DateTime().to_database(datetime.now())) __abstract__ = True def __init__(self, **values): self._limit = CONF_DAEMON.get("LIMIT") if "created_at" in self.__dict__.keys(): self.created_at = self.__dict__["created_at"] super(Model, self).__init__(**values) def save_elasticsearch_in_cassandra(self, obj): self.id = obj["_id"] for atributo in obj['_source'].keys(): if atributo: if hasattr(self, atributo): setattr(self, atributo, obj["_source"][atributo]) return self.save()
class ExampleModel(Model): read_repair_chance = 0.05 # optional - defaults to 0.1 example_id = columns.UUID(primary_key=True, default=uuid.uuid4) example_type = columns.Integer(index=True) created_at = columns.DateTime() description = columns.Text(required=False)
class TestCamelMapModel(Model): partition = columns.UUID(primary_key=True, default=uuid4) camelMap = columns.Map(columns.Text, columns.Integer, required=False)
class TestMapModel(Model): partition = columns.UUID(primary_key=True, default=uuid4) int_map = columns.Map(columns.Integer, columns.UUID, required=False) text_map = columns.Map(columns.Text, columns.DateTime, required=False)
class TestListModel(Model): partition = columns.UUID(primary_key=True, default=uuid4) int_list = columns.List(columns.Integer, required=False) text_list = columns.List(columns.Text, required=False)
class TestStaticModel(Model): partition = columns.UUID(primary_key=True, default=uuid4) cluster = columns.UUID(primary_key=True, default=uuid4) static = columns.Text(static=True) text = columns.Text()
class PolyBase(models.Model): partition = columns.UUID(primary_key=True, default=uuid.uuid4) row_type = columns.Integer(polymorphic_key=True)
class FirstModel(Model): __table_name__ = 'first_model' first_key = columns.UUID(primary_key=True) second_key = columns.UUID() third_key = columns.Text()
class CompactionSizeTieredModel(Model): __compaction__ = SizeTieredCompactionStrategy cid = columns.UUID(primary_key=True) name = columns.Text()
class IndexDefinitionModel(Model): key = columns.UUID(primary_key=True) val = columns.Text(index=True)
class TestModel(Model): id = columns.UUID(primary_key=True, default=lambda: uuid4()) count = columns.Integer() text = columns.Text(required=False) a_bool = columns.Boolean(default=False)