我正在使用 flask sqlalchemy 创建数据库,数据库又创建一个 app.db 文件来存储表和数据。现在对于备份来说,只需在服务器的某个地方复制 app.db 应该很简单。但是假设当应用程序正在将数据写入 app.db 并且我们在那个时候制作了一个副本,那么我们可能会有不一致的 app.db 文件。
我们如何保持备份的一致性。我可以实现锁来这样做。但我想知道数据库备份的标准和好的解决方案,以及它是如何在 python 中实现的。
最佳答案
SQLite 有 backup API为此,它在内置的 Python 驱动程序中不可用。
你可以
- 使用APSW library用于备份;或
- 在
sqlite3
command-line shell 中执行.backup
命令;或 - 运行BEGIN IMMEDIATE以防止其他连接写入数据库,并复制文件。
关于python - Flask sqlalchemy 中的 Sqlite 数据库备份和恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50113323/