Downgrade (Rollback) - Datenbank mit den code-first-in Produktionsumgebung

Ich habe eine web-Anwendung, die ich installieren auf meinem Computer der Kunden für Ihre innere verwenden. Ich benutze C# MVC5 und code-first Entity Framework. Ich benutzte die automatische migration=true aber ich habe aufgehört, und setzen Sie ihn auf false. Ich installierte es auf einer Produktions-Umgebung (release) - mit einem deploy-Paket (ohne Visual Studio).

Ich habe einen Kunden mit dem application - version 1. Jetzt möchte ich ein upgrade auf die version 2. Ich möchte zu aktivieren, um das upgrade der App DB (in der Produktion-Datei mit CMD-installation aus einem Paket), aber die Möglichkeit zu haben, zu downgrade der DB, wenn es werde keine Probleme geben - aber ohne löschen der vorhandenen Zeilen.

Zum Beispiel - wenn ich habe eine Tabelle "Artikel" und Artikel hat Key, Name, Location. Nach einem upgrade habe ich eine neue Spalte hinzufügen: Email. Auf downgrade - die neue Spalte wird gelöscht.
Ich habe die migration auf Visual Studio bekomme ich diesen code (Es ist nur für das Beispiel - ich habe mehr Migrationen):

public partial class AddEmail : DbMigration
    {
        public override void Up()
        {
            AddColumn("dbo.Items", "Email", c => c.String());
        }

        public override void Down()
        {
            DropColumn("dbo.Items", "Email");
        }
    }

Nun, ich habe die App installiert ist die neue version über die vorhandene version und es hat gut funktioniert - die neue Spalte wurde Hinzugefügt und es funktionierte mit dem neuen code. Fügte ich ein paar Elemente (Zeilen).

Nun, wie kann ich neu installieren, die alte version also die neue Spalte wird gelöscht? Eigentlich will ich ein rollback für die neuen Migrationen - aber ich will nicht zu verlieren, werden die neuen Zeilen, nur die neuen Spalten.

InformationsquelleAutor TamarG | 2015-07-27
Schreibe einen Kommentar