[英]Postgresql Sqlalchemy dynamic table partition creation issue
我正在使用 postgresql 和 python sqllachmey 来创建分区表。 下面是示例代码。
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.types import Text
Base = declarative_base()
class Students(Base):
__tablename__ = "Students"
id = Column(Text, primary_key=True)
name = Column(Text)
type = Column(Text)
desc = Column(Text)
creation_time = Column(DateTime, default=func.now(), nullable=False, primary_key=True)
__table_args__ = {
'postgresql_partition_by': 'RANGE (creation_time)'
}
table_list = [Students.__table__]
Base.metadata.create_all(self.engine, tables=table_list)
上面的代码创建了一个分区表,我正在使用 pg_partman 扩展创建分区。
现在,我的需求是,我想使用 class 'Students' 在不同的数据库下创建学生表,有些数据库不需要分区表。 我怎样才能使上面的代码动态化,以便我可以从table_args中取出'postgresql_partition_by'?
根据文档,看起来我必须使用字典来定义表列,但我不太确定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.