django-clickhouse/tests/clickhouse_models.py

54 lines
1.5 KiB
Python
Raw Normal View History

2018-11-21 14:51:19 +03:00
from infi.clickhouse_orm import fields
2018-11-21 14:50:54 +03:00
2018-11-26 17:17:58 +03:00
from django_clickhouse.clickhouse_models import ClickHouseModel, ClickHouseMultiModel
from django_clickhouse.engines import ReplacingMergeTree, CollapsingMergeTree
from tests.models import TestModel, SecondaryTestModel
class ClickHouseTestModel(ClickHouseModel):
django_model = TestModel
sync_delay = 2
sync_enabled = True
2018-11-15 15:37:58 +03:00
id = fields.Int32Field()
created_date = fields.DateField()
2018-11-15 15:37:58 +03:00
value = fields.Int32Field()
str_field = fields.StringField()
engine = ReplacingMergeTree('created_date', ('id',))
migrate_replicated_db_aliases = ('default', 'secondary')
migrate_non_replicated_db_aliases = ('default', 'secondary')
class ClickHouseCollapseTestModel(ClickHouseModel):
django_model = TestModel
sync_delay = 2
sync_enabled = True
id = fields.Int32Field()
created = fields.DateTimeField()
value = fields.Int32Field()
2019-02-05 13:13:15 +03:00
sign = fields.Int8Field(default=1)
version = fields.Int8Field(default=1)
engine = CollapsingMergeTree('created', ('id',), 'sign')
2018-11-26 17:17:58 +03:00
class ClickHouseMultiTestModel(ClickHouseMultiModel):
django_model = TestModel
sub_models = [ClickHouseTestModel, ClickHouseCollapseTestModel]
sync_delay = 2
sync_enabled = True
2019-01-09 13:14:53 +03:00
class ClickHouseSecondTestModel(ClickHouseModel):
django_model = SecondaryTestModel
2019-01-09 13:14:53 +03:00
sync_delay = 2
sync_enabled = True
id = fields.Int32Field()
created_date = fields.DateField()
value = fields.Int32Field()
engine = ReplacingMergeTree('created_date', ('id',))