我将对方法和生物圈3数据库进行一些修改。因为我可能会破坏(我之前有),我想创建备份。
幸运的是,这里存在backup()
个方法。例如:
myBiosphere = Database('biosphere3')
myBiosphere.backup()
根据docs,这是“将数据的备份版本写入备份目录”。这样做确实会创建备份,并且在调用backup()
时可以方便地返回此备份的位置。
我希望做的是加载此备份并替换我已损坏的数据库(如果需要)。文档似乎对此保持沉默,尽管serialize
上的文档说“filepath(str,optional):提供备用文件路径(例如备份)。”
如何使用保存的版本还原数据库?
作为一个额外的问题:如何调用increment_version(database, number=None)
,以及如何使用它来帮助进行数据库管理?
答案 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数据库后端添加版本控制,但这不重要。