python - 如何以编程方式备份 Peewee 数据库(SqliteQueueDatabase)?
问题描述
我在我的一个项目中使用 Peewee。具体来说,我正在使用SqliteQueueDatabase
并且我需要在不停止我的应用程序的情况下创建一个备份(即另一个 *.db 文件)。我看到有两种方法可以为我工作(backup
和backup_to_file
),但它们是来自的方法CSqliteExtDatabase
,并且SqliteQueueDatabase
是的子类SqliteExtDatabase
。我找到了手动创建文件转储的解决方案,但我需要一个 *.db 文件(例如,不是 *.csv 文件)。找不到任何类似的问题或相关答案。
谢谢!
解决方案
您可以从中导入backup_to_file()
帮助playhouse._sqlite_ext
程序并将其传递给您的连接和文件名:
db = SqliteQueueDatabase('...')
from playhouse._sqlite_ext import backup_to_file
conn = db.connection() # get the underlying pysqlite conn
backup_to_file(conn, 'dest.db')
此外,如果您使用的是 pysqlite3,那么连接本身也有可用的备份方法。
推荐阅读
- python - Python 将日期作为参数
- c - 检查邻居会给出奇怪的分段错误。C中的生命游戏
- c# - 有没有办法在 linerenderer 线上更快地移动对象?
- python - 什么是 PEP-249?
- sql - 奇怪的 WHERE 语句,其行为类似于 GROUP BY?
- python - 无法在 Python 2.7 中为 ldap 设置 TIMEOUT
- java - 如何在 Java 中比较两个图像?
- r - 将日期过滤器添加到 Flexdashboard
- python - 如何将模型实例连接到 django 中的用户?
- pine-script - 在 pine 脚本中获取先前的交易利润百分比