Brightway 中的备份:如何使用它们
Backups in Brightway: how to use them
我将对方法和 biosphere3 数据库进行一些修改。因为我可能会破坏东西(我以前有过),所以我想创建备份。
谢天谢地,有 backup()
方法可以做到这一点。例如:
myBiosphere = Database('biosphere3')
myBiosphere.backup()
根据docs,这个"Write[s] a backup version of the data to the backups directory."这样做确实创建了一个备份,这个备份的位置在调用backup()
.
时很方便返回
我想做的是加载此备份并在需要时替换我损坏的数据库。文档似乎对此保持沉默,尽管 serialize
上的文档说 "filepath (str, optional): Provide an alternate filepath (e.g. for backup)."
如何使用保存的版本恢复数据库?
作为奖励问题:increment_version(database, number=None)
是如何调用的,如何使用它来帮助进行数据库管理?
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 数据库后端,但这是非常重要的。
我将对方法和 biosphere3 数据库进行一些修改。因为我可能会破坏东西(我以前有过),所以我想创建备份。
谢天谢地,有 backup()
方法可以做到这一点。例如:
myBiosphere = Database('biosphere3')
myBiosphere.backup()
根据docs,这个"Write[s] a backup version of the data to the backups directory."这样做确实创建了一个备份,这个备份的位置在调用backup()
.
我想做的是加载此备份并在需要时替换我损坏的数据库。文档似乎对此保持沉默,尽管 serialize
上的文档说 "filepath (str, optional): Provide an alternate filepath (e.g. for backup)."
如何使用保存的版本恢复数据库?
作为奖励问题:increment_version(database, number=None)
是如何调用的,如何使用它来帮助进行数据库管理?
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 数据库后端,但这是非常重要的。