J'ai commencé à développer un backend sans activer les migrations dotnet ef. J'ai réussi à commencer à utiliser les migrations après un certain temps avec l'aide de .NET Core database model changes in production.La migration EF n'a aucun effet
maintenant un de mes modèles ont changé à nouveau et je voulais appliquer une autre migration, cette fois non pas par le script, mais directement dans les applications startup.cs avec _myContext.Database.MigrateAsync();
où je fondamentalement changé le nom d'un champ myField
-myFieldId
. Après le démarrage de l'application, je peux voir les entrées du journal en ce qui concerne
Applying migration '20170908221458_MyMigration'.
Opening connection to database 'database' on server '(local)\INSTANCE'.
Beginning transaction with isolation level 'Unspecified'.
Executed DbCommand (119ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
DECLARE @var0 sysname;
SELECT @var0 = [d].[name]
FROM [sys].[default_constraints] [d]
INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id]
WHERE ([d].[parent_object_id] = OBJECT_ID(N'myTable') AND [c].[name] = N'myField');
IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [myTable] DROP CONSTRAINT [' + @var0 + '];');
ALTER TABLE [myTable] DROP COLUMN [myField];
Executed DbCommand (23ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
ALTER TABLE [myTable] ADD [myFieldId] xml NOT NULL DEFAULT 0;
Closing connection to database 'database' on server '(local)\INSTANCE'.
qui sont à la recherche de bien. Mais mon modèle n'a pas changé à l'intérieur de la base de données! En outre, mon EFMigrationsHistory manque une nouvelle entrée. Ainsi, au démarrage de l'application suivante, EF tente à nouveau d'appliquer la migration. Des idées quoi de mal ici?