EF Core - problem z aktualizacją bazy MSSQL Azure

0

Cześć, mam następujący problem.

W projekcie przenieśliśmy się z bazą na Azure. Stosujemy podejście "CodeFirst" i standardowo po utworzeniu nowej encji, która ma zostać odwzorowana jako tabela na bazie wykonałem komendy:

Add-Migration "AddTypeOfUserColumn"

2.  ```csharp
update-database

Otrzymałem komunikat, że obiekt o nazwie "Cities" istnieje już w bazie (mimo iż nic nie zmieniałem akurat w tej tabeli). Sprawdziłem zatem w SQL MS co jest grane i zauważyłem, że tabela dbo.__EFMigrationsHistory ma odłożone tylko część rekordów z migracjami (podejrzewam, że są to dokładnie te migracje sprzed przenosin na Azure). Stąd też pewnie taki babol - wg migracji tabela Cities nie istnieje, więc chce ją utworzyć, ale w bazie jest.
No właśnie i tutaj też ciekawe jest to, że tabela jest w bazie, zatem musiała przejść migracja, która budowała te obiekty.

Poniżej pełen kod błędu, czy ktoś ma jakiś pomysł co może być powodem?

fail: Microsoft.EntityFrameworkCore.Database.Command[20102]
      Failed executing DbCommand (45ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      CREATE TABLE [Cities] (
          [Id] int NOT NULL IDENTITY,
          [Name] nvarchar(max) NULL,
          [Voivodeship] nvarchar(max) NULL,
          CONSTRAINT [PK_Cities] PRIMARY KEY ([Id])
      );
Failed executing DbCommand (45ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
CREATE TABLE [Cities] (
    [Id] int NOT NULL IDENTITY,
    [Name] nvarchar(max) NULL,
    [Voivodeship] nvarchar(max) NULL,
    CONSTRAINT [PK_Cities] PRIMARY KEY ([Id])
);
Microsoft.Data.SqlClient.SqlException (0x80131904): There is already an object named 'Cities' in the database.
   at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at Microsoft.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean isAsync, Int32 timeout, Boolean asyncWrite)
   at Microsoft.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry, String methodName)
   at Microsoft.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues)
   at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1 migrationCommands, IRelationalConnection connection)
   at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
   at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(String targetMigration, String contextType)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_0.<.ctor>b__0()
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
ClientConnectionId:3c636848-643a-4d1d-8acd-c0dcb1a31b86
Error Number:2714,State:6,Class:16
There is already an object named 'Cities' in the database.
0

A nie wcisnął ktoś tej tabeli bokiem?

1 użytkowników online, w tym zalogowanych: 0, gości: 1