您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 在SQLAlchemy中动态设置__tablename__来分片?

5b51 2022/1/14 8:22:42 python 字数 1957 阅读 600 来源 www.jb51.cc/python

为了处理不断增长的数据库表,我们正在分片表名.所以我们可以使用如下命名的数据库表: table_md5one table_md5two table_md5three 所有表具有完全相同的模式. 我们如何使用SQLAlchemy并动态指定与此对应的类的tablename?看来,declarative_base()类需要预先指定tablename. 最终会有太多的表从父/基类手动指定派生类.我们希望能

概述

table_md5one
table_md5two
table_md5three

所有表具有完全相同的模式.

我们如何使用sqlAlchemy并动态指定与此对应的类的tablename?看来,declarative_base()类需要预先指定tablename.

最终会有太多的表从父/基类手动指定派生类.我们希望能够构建一个能够使tablename动态设置的类(可以作为一个参数传递给一个函数).

所以我们创建一个这样的动态表对象:

from sqlalchemy import MetaData,Table,Column

def get_table_object(self,md5hash):
    Metadata = MetaData()
    table_name = 'table_' + md5hash
    table_object = Table(table_name,Metadata,Column('Column1',DATE,nullable=False),Column('Column2',nullable=False)
    )
    clear_mappers()
    mapper(ActualTableObject,table_object)
    return ActualTableObject

其中ActualTableObject是映射到表的类.

总结

以上是编程之家为你收集整理的python – 在SQLAlchemy中动态设置__tablename__来分片?全部内容,希望文章能够帮你解决python – 在SQLAlchemy中动态设置__tablename__来分片?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶