Running migrations automatically

--HG--
branch : 1.x
This commit is contained in:
Sebastien Ros
2011-12-15 14:10:48 -08:00
parent e74766d9e2
commit 515ec16f21
2 changed files with 39 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Orchard.Environment;
using Orchard.Logging;
namespace Orchard.Data.Migration {
/// <summary>
/// Registers to OrchardShell.Activated in order to run migrations automatically
/// </summary>
public class AutomaticDataMigrations : IOrchardShellEvents {
private readonly IDataMigrationManager _dataMigrationManager;
public AutomaticDataMigrations(IDataMigrationManager dataMigrationManager) {
_dataMigrationManager = dataMigrationManager;
Logger = NullLogger.Instance;
}
public ILogger Logger { get; set; }
public void Activated() {
foreach (var feature in _dataMigrationManager.GetFeaturesThatNeedUpdate()) {
try {
_dataMigrationManager.Update(feature);
}
catch (Exception e) {
Logger.Error("Could not run migrations automatically on " + feature, e);
}
}
}
public void Terminating() {
}
}
}

View File

@@ -188,6 +188,7 @@
<Compile Include="ContentManagement\QueryHints.cs" />
<Compile Include="ContentManagement\Utilities\ComputedField.cs" />
<Compile Include="Data\Conventions\AggregateAttribute.cs" />
<Compile Include="Data\Migration\AutomaticDataMigrations.cs" />
<Compile Include="DisplayManagement\Descriptors\PlacementInfo.cs" />
<Compile Include="DisplayManagement\Descriptors\ResourceBindingStrategy\StylesheetBindingStrategy.cs" />
<Compile Include="DisplayManagement\Descriptors\ShapeDescriptor.cs" />