У меня есть веб-приложение, которое я устанавливаю на компьютеры своих клиентов для их внутреннего использования. Я использую C# MVC5 и кодовую Entity Framework. Я использовал автоматическую миграцию = true, но я остановился и установил значение false. Я установил его в производственную среду (выпуск) - с пакетом deploy-package (без Visual Studio).База данных с отказом (отката) с кодовым первым в производственной среде
У меня есть клиент с приложением - версия 1. Теперь я хочу обновить до версии 2. Я хочу включить обновление БД приложения (в производственном файле, с установкой CMD из пакета), но чтобы иметь возможность до сбрасывать DB, если возникнут какие-либо проблемы, но без удаления существующих строк.
Например, если у меня есть таблица «Элементы» и элементы имеют Key, Name, Location
. При обновлении я добавляю новый столбец: Email
. При понижении - новый столбец будет удален. Я создал миграцию на Visual Studio я получаю этот код (Это просто для примера - у меня больше миграций):
public partial class AddEmail : DbMigration
{
public override void Up()
{
AddColumn("dbo.Items", "Email", c => c.String());
}
public override void Down()
{
DropColumn("dbo.Items", "Email");
}
}
Теперь я установил новую версию приложения на существующую версию и она работала прекрасно - новый столбец был добавлен, и он работал с новым кодом. Я добавил несколько элементов (строк).
Теперь, как я могу переустановить старую версию, чтобы новый столбец был удален? На самом деле я хочу отменить новые миграции, но я не хочу потерять новые строки, а только новые столбцы.
Поскольку у меня нет Visual Studio на компьютере клиента, это не помогло мне, но в следующем разделе этой статьи есть заголовок «Получение сценария SQL» - и это именно то, что мне нужно. Благодаря! – TamarG