使用SQLAlchemy在数据库之间移动数据

时间:2018-04-09 10:26:11

标签: python session sqlalchemy

我有两个相同的数据库,由相同的alembic脚本创建。一个是生产中使用的数据,第二个是空的。我需要将一些数据从一个移动到另一个。有什么优雅的方法怎么做? (请假设有自动生成的id,在数据库中不能也不需要相同。)

我在考虑两种可能的解决方案 - >从一个数据库expunge_all()中选择我想要的全部内容,然后将其添加到另一个数据库,或者使用__dict__添加一些技巧。哪个会更优雅?

1 个答案:

答案 0 :(得分:0)

copy = db1.query(SomeModel).filter(SomeModel.someattr == some_attr).all()
db1.expunge_all()
for c in copy:
    db2.add(c)
db2().commit()

这似乎运作良好。