我有一个基于SQLAlchemy的工具,用于有选择地在两个不同的数据库之间复制数据以进行测试。我使用merge()
函数从一个会话中获取模型对象并将它们存储在另一个会话中。我希望能够以某种中间形式存储源对象,然后在稍后的某个时间点merge()
存储它们。
似乎有几个选项可以实现这一目标:
DELETE
/ INSERT
SQL语句。看起来很简单,我想我可以让SQLAlchemy给我INSERT
语句,甚至可能是DELETE
s。以前有人解决过这个问题吗?如果是这样,你的解决方案是什么?
编辑:我发现了一个基于SQLAlchemy的工具,名为dataset,它提供了我正在寻找的冻结功能,但似乎没有相应的解冻恢复数据的功能。
答案 0 :(得分:1)
我之前没有使用它,但文档中描述的dogpile缓存技术可能就是你想要的。这允许您使用SQLAlchemy API查询缓存和从缓存查询:
http://docs.sqlalchemy.org/en/rel_0_9/orm/examples.html#module-examples.dogpile_caching