我有一个相对复杂的MySQL数据库(60多个表),我需要定期填充。大多数表都有很多外键约束。我开始使用SQL Alchemy编写我的导入引擎。
我是否需要使用SQL Alchemy类重建整个数据库才能执行此操作?有没有人有更好的建议?实际上只有8个表接受新的原始数据,其余表从这些表中填充。
答案 0 :(得分:0)
您可以使用SQLAlchemy反射来创建映射到MySQL表结构的类。见Reflecting Database Objects。那里有一个子章节,展示了如何反映所有表格(反映数据库对象)。
从上面的链接复制的代码反映一个表:
messages = Table('messages', meta, autoload=True, autoload_with=engine)
所有表格:
meta = MetaData()
meta.reflect(bind=someengine)
users_table = meta.tables['users']
addresses_table = meta.tables['addresses']