Migrations: when creating a table for a BufferModel, create the underlying table too if necessary

This commit is contained in:
Itai Shirav 2017-06-26 11:09:57 +03:00
parent 220616a151
commit cb6c329d32
3 changed files with 8 additions and 1 deletions

View File

@ -1,6 +1,10 @@
Change Log Change Log
========== ==========
Unreleased
----------
- Migrations: when creating a table for a `BufferModel`, create the underlying table too if necessary
v0.9.3 v0.9.3
------ ------
- Changed license from PSF to BSD - Changed license from PSF to BSD

View File

@ -17,6 +17,7 @@ install_requires = [
] ]
version_file = src/infi/clickhouse_orm/__version__.py version_file = src/infi/clickhouse_orm/__version__.py
description = A Python library for working with the ClickHouse database description = A Python library for working with the ClickHouse database
long_description = A Python library for working with the ClickHouse database
console_scripts = [] console_scripts = []
gui_scripts = [] gui_scripts = []
package_data = [] package_data = []

View File

@ -1,4 +1,4 @@
from .models import Model from .models import Model, BufferModel
from .fields import DateField, StringField from .fields import DateField, StringField
from .engines import MergeTree from .engines import MergeTree
from .utils import escape from .utils import escape
@ -28,6 +28,8 @@ class CreateTable(Operation):
def apply(self, database): def apply(self, database):
logger.info(' Create table %s', self.model_class.table_name()) logger.info(' Create table %s', self.model_class.table_name())
if issubclass(self.model_class, BufferModel):
database.create_table(self.model_class.engine.main_model)
database.create_table(self.model_class) database.create_table(self.model_class)