Brightway中的备份:如何使用它们

时间:2016-07-19 02:04:04

标签: brightway

我将对方法和生物圈3数据库进行一些修改。因为我可能会破坏(我之前有),我想创建备份。

幸运的是,这里存在backup()个方法。例如:

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

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

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

如何使用保存的版本还原数据库?

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

1 个答案:

答案 0 :(得分: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)

因此,您将恢复与任何BW2Package相同的内容:

from brightway2 import *
BW2Package.import_file(filepath)

但是,如果建议使用backup_project_directory(project)restore_project_directory(filepath),则不要使用(较旧的)中间格式。

increment_version仅适用于单个文件数据库后端,每次保存数据库时都会自动调用。您可以在sqlite数据库后端添加版本控制,但这不重要。