alexjamesbrown として、まずクラスのプロパティの名前を変更します。
次に、Mongo データベースの単純な基本的なバージョン管理構造を作成できます。最新バージョンを保存し、アプリケーションの起動時にバージョンを確認し、リフレクションを使用してそれより新しいバージョンのファイルを探します。次に、次のような形式のファイルをソース ツリーに保持するだけです。
public class Version3 : MongoMigration
{
public Version3 (MongoDatabase database) : base(database) { }
public override double Version
{
get { return 3; }
}
protected override void PerformUpgrade()
{
var collectionToUpdate = Database.GetCollection("MyCollection");
var allDocuments = collectionToUpdate .FindAll();
foreach (var document in allDocuments )
{
var oldFieldValue = document ["OldFieldName"];
if (!document.Contains("NewFieldName"))
document.Add("NewFieldName", oldFieldValue);
document.Remove("OldFieldName");
collectionToUpdate.Save(document);
}
}
}