我们需要创建SQLAlchemy类来访问多个外部数据源,这些数据源数量将随时间增加。我们在核心ORM模型中使用声明性基础,并且我知道我们可以使用autoload=True手动指定新的ORM类以自动生成映射。
问题是我们需要能够动态生成它们,像这样:
问题是我们需要能够动态生成它们,像这样:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
stored={}
stored['tablename']='my_internal_table_name'
stored['objectname']='MyObject'
并且将其动态转换为如下的形式:
class MyObject(Base):
__tablename__ = 'my_internal_table_name'
__table_args__ = {'autoload':True}
我们不希望类比必要的时间长存,只是为了打开连接、执行查询,然后关闭连接。因此,理想情况下,我们可以将上面的“存储”变量中的项目放入数据库,并根据需要提取它们。另一个挑战是对象名称(例如“MyObject”)可能在不同的连接上使用,因此我们不能定义一次并保留它。
对于如何实现这一点的任何建议都将不胜感激。
谢谢...