【问题标题】:SQLite database backupSQLite 数据库备份
【发布时间】:2015-04-21 17:57:26
【问题描述】:

对于SQLite数据库的备份,我通过https://www.sqlite.org/backup.html 我开始知道这些 SQLite 在线备份 API 有一个 python 包装器。所以,我经历了https://github.com/husio/python-sqlite3-backup 以下是我对 sqlitebck(python 包) 的一些疑问

  1. 我在测试中检查了代码,它显示使用 sqlitebck.copy(:memory:,dbfile) 将 db 从:memory: 复制到文件,反之亦然,我对“:memory:”及其使用感到困惑。
  2. 我可以将一个数据库文件复制到另一个数据库文件,例如 sqlitebck(dbfile1, dbfile2),而不是从内存中。这样 dbfile2 将成为 dbfile1 的备份?

【问题讨论】:

    标签: python database sqlite


    【解决方案1】:

    ':memory:' 作为“文件名”是告诉 sqlite 将小型数据库保留在内存中而不是磁盘上的方式。但是,是的,sqlitebck 可以从一个文件复制到另一个文件——尽管它需要的参数是 sqlite connections 所以你需要先 sqlite3.connect 到每个文件(通常也可以只需直接复制文件而不涉及sqlite - 正如您链接到的sqlite页面所暗示的那样,建议使用Unix cp或Windows copy ... Python有自己的文件复制标准库模块https://docs.python.org/2/library/shutil.html )。

    【讨论】:

    • 不要在db文件打开时复制它,因为它可以创建corrupted数据库副本。使用 SQLite 备份 API。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    • 2011-06-20
    • 2019-08-25
    相关资源
    最近更新 更多