python - SQLalchemy:动态创建具有不同列集的表
问题描述
我需要在 SQLalchemy ORM 中创建几个表,它们都遵循类似的模式:
- 每个表都包含相同的共享列集(id +
shared_col1
/2) - 每个表由 1+ 个单独的列(维度)组成
- 表名和相应的维度在创建表时是已知的
- 可以假设所有维度列都是字符串列
这是创建表的示例:
class SomeTable1(Base):
__tablename__ = 'dim_table1'
id = Column(String(4), primary_key=True)
shared_col1 = Column(String)
dimension1 = Column(String, nullable=False)
dimension2 = Column(String, nullable=False)
shared_col2 = Column(String, nullable=False))
我的问题:我怎样才能动态地创建表,例如在循环中?无需明确说明每个表定义?说,基于这样的字典:
{
"dimension_table1": ["dimension1", "dimension2"],
"dimension_table2": ["dimension3"],
...
}
解决方案
推荐阅读
- r - dataExplorer::create_report 编译失败
- swift - 故事板中的 UIStackView 强制固有内容大小
- python - 将子列表放置到其他子列表
- javascript - 无法保存到数据库,字符串未被识别为有效的 DateTime MVC
- c# - C#如何创建一个单元测试来验证一个值是否在代码列表中?
- python - 查找和计算重复项
- sql - 如何在sql(oracle)中操作对象的属性?
- javascript - JS 在字符串中显示特殊的 ascii 字符
- outlook - 如何使用 Graph API 为 O365 用户检索每封邮件(包括已删除、存档和可恢复的项目)?
- c - 关于 epoll 和数据结构的问题