在Python/SQLAlchemy中使用SQLite的备份API

6 投票
5 回答
4292 浏览
提问于 2025-04-15 12:37

我正在用Python操作一个SQLite数据库,使用的是SQLAlchemy这个库。为了提高性能,我想在应用程序中使用一个内存数据库,然后把这个数据库备份到硬盘上。

SQLite有一个备份API,看起来可以很方便地实现这个功能。

根据APSW的文档,它提到可以封装这个备份API,但我想通过Python的标准sqlite3模块,或者最好是通过SQLAlchemy来使用这个功能。这可能吗?

5 个回答

3

如果 pysqlite 和 apsw 是链接到同一个 sqlite 库的,那么 pysqlite 就可以接受 apsw 的连接。具体可以参考这里:

http://docs.pysqlite.googlecode.com/hg/sqlite3.html#combining-apsw-and-pysqlite

我会尝试研究这个方法(以及其他方法)来让 apsw 和 SQLAlchemy 一起工作,因为它们的组合非常有用。

3

APSW方言可以很简单地添加到SQLAlchemy中。在0.6版本中,这个过程非常简单,因为它允许多种类型的DBAPI适配器使用相同的方言来连接所使用的数据库。

1

python-sqlite3-backup 这个模块声称可以解决这个问题。

撰写回答