2016-07-19 3 views
0

私はメソッドとbiosphere3データベースをいくつか変更します。私が以前に持っていたものを壊すかもしれないので、私はバックアップを作りたいと思います。Brightwayでのバックアップ:それらの使い方

ありがたいことに、これだけの方法はbackup()あります。たとえば:

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

docsによると、これは「[s]は、バックアップディレクトリへのデータのバックアップ・バージョンを作成します。」実際にバックアップを作成すると、backup()を呼び出すと便利にこのバックアップの場所が返されます。

私がしたいのは、このバックアップを読み込み、必要に応じて私が壊れたデータベースを置き換えることです。 serializeのドキュメントでは、 "filepath(str、optional):代替ファイルパスを提供する(バックアップなど)"と書かれていますが、ドキュメントはこれについては何も言わないようです。

保存されたバージョンのデータベースを復元するにはどうすればよいですか?

increment_version(database, number=None)はどのように呼び出され、どのようにしてデータベース管理の手助けをすることができますか? backup

答えて

0

コードは非常に簡単です:

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データベースのバックエンドにバージョニングを追加することもできますが、これは自明ではありません。

関連する問題