. NET Миграция обновления ядра пытается заново создать таблицу - PullRequest
0 голосов
/ 06 марта 2020

Сначала я работал над кодом проекта. net core 3. На этом этапе я добавил 2 столбца в мои таблицы. Затем я сделал дополнение миграции к решению с помощью этого кода (CLI).

dotnet ef --startup-project ../MyApi.Api migrations add actorInfomart

Моя миграция вернула следующее:

public partial class actorInfomart : Migration
    {
        protected override void Up(MigrationBuilder migrationBuilder)
        {
        migrationBuilder.AddColumn<bool>(
            name: "IsSeries",
            schema: "film",
            table: "Movie",
            nullable: false,
            defaultValue: false);

        migrationBuilder.AddColumn<string>(
            name: "ExtInfo",
            schema: "act",
            table: "Actor",
            maxLength: 100,
            nullable: true);
    }

    protected override void Down(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.DropColumn(
            name: "IsSeries",
            schema: "film",
            table: "Movie");

        migrationBuilder.DropColumn(
            name: "ExtInfo",
            schema: "act",
            table: "Actor");
    }
}

Кажется правильным. Проблема приходит сюда. Когда я попытался обновить миграцию, я получил эту ошибку:

There is already an object named 'Actor' in the database.

Моя миграция пытается создать новую таблицу в моей базе данных. Но в миграции нет ничего для этого. Вот моя команда CLI обновления миграции.

dotnet ef --startup-project ../MyApi.Api database update actorInfomart

В терминале (я использую Ma c) пишет

info: Microsoft.EntityFrameworkCore.Migrations[20402]
      Applying migration '20191231100058_Initial'.
Applying migration '20191231100058_Initial'.

Как применить последнюю миграцию? У меня есть 10 миграций между первым и последним. Это моя первая проблема с миграциями.

1 Ответ

0 голосов
/ 06 марта 2020

Я видел проблему в моей БД. Из-за усечения таблицы '__EFMigrationsHistory' в БД. Поведение системы превращается в первоначальную миграцию, поскольку миграции не применяются.

...