Команда Update-Database в Entity Framework 6 не работает - PullRequest
0 голосов
/ 07 августа 2020

Я создал базу данных с помощью EF 6. Теперь я хочу переименовать таблицу и несколько столбцов. Код для миграций следующий

public partial class AdjustJunctionTable : DbMigration
{
    public override void Up()
    {
        RenameTable(name: "dbo.SoftwareSoftwares", newName: "Dependency");
        RenameColumn(table: "dbo.Dependency", name: "Software_StandardPartNumber", newName: "DependentStandardPartNumber");
        RenameColumn(table: "dbo.Dependency", name: "Software_Version", newName: "DependentVersion");
        RenameColumn(table: "dbo.Dependency", name: "Software_StandardPartNumber1", newName: "DependencyStandardPartNumber");
        RenameColumn(table: "dbo.Dependency", name: "Software_Version1", newName: "DependencyVersion");
        RenameIndex(table: "dbo.Dependency", name: "IX_Software_StandardPartNumber_Software_Version", newName: "IX_DependentStandardPartNumber_DependentVersion");
        RenameIndex(table: "dbo.Dependency", name: "IX_Software_StandardPartNumber1_Software_Version1", newName: "IX_DependencyStandardPartNumber_DependencyVersion");
    }
    
    public override void Down()
    {
        RenameIndex(table: "dbo.Dependency", name: "IX_DependencyStandardPartNumber_DependencyVersion", newName: "IX_Software_StandardPartNumber1_Software_Version1");
        RenameIndex(table: "dbo.Dependency", name: "IX_DependentStandardPartNumber_DependentVersion", newName: "IX_Software_StandardPartNumber_Software_Version");
        RenameColumn(table: "dbo.Dependency", name: "DependencyVersion", newName: "Software_Version1");
        RenameColumn(table: "dbo.Dependency", name: "DependencyStandardPartNumber", newName: "Software_StandardPartNumber1");
        RenameColumn(table: "dbo.Dependency", name: "DependentVersion", newName: "Software_Version");
        RenameColumn(table: "dbo.Dependency", name: "DependentStandardPartNumber", newName: "Software_StandardPartNumber");
        RenameTable(name: "dbo.Dependency", newName: "SoftwareSoftwares");
    }
}

Конечно, я создал эту миграцию с помощью команды Add-Migration. Но поскольку я хочу поместить его в базу данных с помощью команды Update-Database, в базе данных ничего не изменится. Отслеживание операторов sql с использованием параметра -verbose показывает только то, что он пытается обновить таблицу MigrationHistory, но эта таблица также не обновляется после команды обновления.

консоль диспетчера пакетов сообщает мне, что он применяет миграцию с предупреждением:

Внимание: изменение любой части имени объекта может нарушить скрипты и хранимые процедуры.

Итак, как я могу запустить миграция прошла успешно?

...