SQLAlchemy文档explain如何创建分区表。但它并没有解释如何创建分区
如果我有这个:
#Skipping create_engine and metadata
Base = declarative_base()
class Measure(Base):
__tablename__ = 'measures'
__table_args__ = {
postgresql_partition_by: 'RANGE (log_date)'
}
city_id = Column(Integer, not_null=True)
log_date = Columne(Date, not_null=True)
peaktemp = Column(Integer)
unitsales = Column(Integer)
class Measure2020(Base):
"""How am I suppposed to declare this ? """
我知道我大部分时间都在做SELECT * FROM measures WHERE logdate between XX and YY
。但这似乎很有趣
对于数据库分区(PostgreSQL或MySQL),可以尝试使用architect包。它与一系列ORM库一起工作,包括SQLAlchemy。下面是PostgreSQL-https://architect.readthedocs.io/features/partition/postgresql.html的一个示例。支持几种分区类型,因此希望它能够满足您案例的要求
我也有类似的问题。我发现@moshevi的答案非常有用,并最终对其进行了一些推广(因为我有许多表要分区)
首先,创建一个元类,如下所示:
接下来,对于模型中要分区的任何表:
这使得添加更多表和按任意数量的值分区变得容易
动态创建新分区的工作原理如下:
现在创建了键
2020
的分区,可以插入当年的值您可以使用两个类都可以从中继承的^{} 。
然后使用^{} 来附加表分区
相关问题 更多 >
编程相关推荐