簡體   English   中英

存儲SQLAlchemy查詢的結果以合並到另一個會話中

[英]Storing the results of a SQLAlchemy query to merge into another session

我有一個基於SQLAlchemy的工具,可以選擇性地在兩個不同的數據庫之間復制數據以進行測試。 我使用merge()函數從一個會話中獲取模型對象,並將其存儲在另一個會話中。 我希望能夠以某種中間形式存儲源對象,然后在以后的某個時間點將它們merge()

似乎有一些選擇可以實現此目的:

  • 導出DELETE / INSERT SQL語句。 看起來很簡單,我想我可以讓SQLAlchemy給我INSERT語句,甚至給我DELETE
  • 將數據擴展到具有相同(或相似)模式的SQLite數據庫文件,然后可以在以后的時間點將其作為源讀取。
  • 以某種方式序列化數據,然后將其讀回內存以進行合並。 我不知道SQLAlchemy是否具有這種內置功能。 我不確定自己推出此書會遇到什么挑戰。

有人解決過這個問題嗎? 如果是這樣,您的解決方案是什么?

編輯:我發現建立在SQLAlchemy之上的名為數據集的工具,該工具提供了我正在尋找的凍結功能,但是似乎沒有相應的解凍功能來恢復數據。

我以前沒有使用過它,但是文檔中描述的Dogpile緩存技術可能就是您想要的。 這使您可以使用SQLAlchemy API在高速緩存中進行查詢:

http://docs.sqlalchemy.org/en/rel_0_9/orm/examples.html#module-examples.dogpile_caching

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM