class Statistics(Base):
            date = Column(types.Date, primary_key=True)
            sign = Column(types.Int8, nullable=False)
            grouping = Column(types.Int32, nullable=False)
            metric1 = Column(types.Int32, nullable=False)

            __table_args__ = (engines.CollapsingMergeTree(
                sign,
                partition_by=func.toYYYYMM(date),
                order_by=(date, grouping)), )
        class TestTable(self.base):
            date = Column(types.Date, primary_key=True)
            x = Column(types.Int32)
            y = Column(types.String)
            version = Column(types.Int32)

            __table_args__ = (engines.ReplacingMergeTree(
                version=version,
                partition_by=func.toYYYYMM(date),
                order_by=(date, x),
            ), )
        class GroupedStatistics(Base):
            date = Column(types.Date, primary_key=True)
            metric1 = Column(types.Int32, nullable=False)

            __table_args__ = (engines.SummingMergeTree(
                partition_by=func.toYYYYMM(date), order_by=(date, )), )