/// <summary> /// Defines a New Product Release /// </summary> /// <param name="codename">Codename of the release. Be creative.</param> /// <param name="version">Product Version of this Release.</param> /// <param name="context">The InstallContext for the current install.</param> protected ProductRelease(string codename, Version version, EvolutionInstallContext context) { Codename = codename; Version = version; Context = context; _contextUpdates = new List <IContextUpdate>(); _preMigrationsActions = new List <Action>(); _postMigrationsActions = new List <Action>(); Log = LogProvider.Get(GetType()); }
public Release4_8(EvolutionInstallContext context) : base("Duchess", new Version(4, 8, 0, 0), context) { // Define the Context Updates in the Order they should be applied. UpdateContext <AdministrationDbContext, Data.Administration.Migrations.Configuration, Data.Administration.Migrations.RemoveOffenceDescriptionFromViolationCode>(); UpdateContext <AuditDbContext, Data.Audit.Migrations.Configuration, Data.Audit.Migrations._4_8>(); UpdateContext <MediaDbContext, Data.Media.Migrations.Configuration, Data.Media.Migrations._4_8>(); UpdateContext <MessagingDbContext, Data.Messaging.Migrations.Configuration, Data.Messaging.Migrations._4_8>(); UpdateContext <MetadataDbContext, Data.Metadata.Migrations.Configuration, Data.Metadata.Migrations._4_8>(); UpdateContext <RecentInfoDbContext, Data.RecentInfo.Migrations.Configuration, Data.RecentInfo.Migrations._4_8>(); UpdateContext <ReportsDbContext, Data.Reports.Migrations.Configuration, Data.Reports.Migrations.Attachmentrelationships>(); UpdateContext <SummariesDbContext, Data.Summaries.Migrations.Configuration, Data.Summaries.Migrations.Attachmentrelationships>(); UpdateContext <StageDbContext, ExternalApi.Stage.Data.Migrations.Configuration, ExternalApi.Stage.Data.Migrations._48>(); }
public Release4_8_1(EvolutionInstallContext context) : base("Teriyaki", new Version(4, 8, 1, 0), context) { // Define the Context Updates in the Order they should be applied. UpdateContext <AdministrationDbContext, Data.Administration.Migrations.Configuration, LatestMigration>(); UpdateContext <AuditDbContext, Data.Audit.Migrations.Configuration, LatestMigration>(); UpdateContext <MediaDbContext, Data.Media.Migrations.Configuration, LatestMigration>(); UpdateContext <MessagingDbContext, Data.Messaging.Migrations.Configuration, LatestMigration>(); UpdateContext <MetadataDbContext, Data.Metadata.Migrations.Configuration, LatestMigration>(); UpdateContext <RecentInfoDbContext, Data.RecentInfo.Migrations.Configuration, LatestMigration>(); UpdateContext <ReportsDbContext, Data.Reports.Migrations.Configuration, LatestMigration>(); UpdateContext <SummariesDbContext, Data.Summaries.Migrations.Configuration, LatestMigration>(); UpdateContext <StageDbContext, ExternalApi.Stage.Data.Migrations.Configuration, LatestMigration>(); }
/// <summary> /// Perform an Installation or Update. /// </summary> private static void InstallEvolution() { Action install = () => { // Create the Install Context var installContext = new EvolutionInstallContext() { SystemName = "TriTech InformRMS Web", // TODO: Client specific system names. ClassicDatabaseConnectionString = Settings.Classic, TargetDatabaseConnectionString = Settings.Target, AppPoolIdentity = Settings.AppPoolIdentity, TargetImplementation = Settings.Implementation }; // Create the Installer var installer = new EvolutionDatabaseInstaller(installContext); // Install/Reinstall the Product if (Settings.Install) { installer.Install(); } else if (Settings.Reinstall) { // Uninstall the Product installer.Uninstall(); // Install the Product installer.Install(); } else { Exit("Intent could not be determined. Please specify Install or Reinstall.", 1); } // Seed Some Data if (Settings.Seed) { EvolutionDatabaseSeeder.Seed(installContext); } }; // If the debugger is attached let exceptions bubble up. if (Debugger.IsAttached) { install(); } else { // If running without the debugger catch any exceptions. try { install(); } catch (Exception ex) { Log.Error(ex); Exit(Environment.NewLine + (Settings.Install ? "INSTALL" : "REINSTALL") + " FAILED:" + Environment.NewLine + ex.Message, 1); } } }