0

我将对方法和 biosphere3 数据库进行一些修改。因为我可能会破坏一些东西(我以前有过),所以我想创建备份。

值得庆幸的是,有一些backup()方法可以解决这个问题。例如:

myBiosphere = Database('biosphere3')
myBiosphere.backup()

根据文档,这个“将数据的备份版本写入备份目录”。这样做确实会创建一个备份,并且在调用时可以方便地返回此备份的位置backup()

我想做的是加载这个备份并替换我损坏的数据库,如果需要的话。文档似乎对此保持沉默,尽管文档上serialize说“文件路径(str,可选):提供备用文件路径(例如用于备份)。”

如何使用已保存的版本恢复数据库?

作为一个额外的问题:如何increment_version(database, number=None)调用,以及如何使用它来帮助进行数据库管理?

4

1 回答 1

0

代码backup非常简单:

def backup(self):
    """Save a backup to ``backups`` folder.

    Returns:
        File path of backup.

    """
    from bw2io import BW2Package
    return BW2Package.export_obj(self)

因此,您将恢复与 any 相同的内容BW2Package

from brightway2 import *
BW2Package.import_file(filepath)

但是,如果建议使用backup_project_directory(project)andrestore_project_directory(filepath)代替,因为它们不会通过(较旧的)中间格式。

increment_version仅针对单文件数据库后端,每次保存数据库时自动调用。您可以将版本控制添加到 sqlite 数据库后端,但这并非易事。

于 2016-07-19T11:45:00.660 回答