Este artigo não pretende ser um guia para trabalhar com migrações EF. Não haverá informações sobre como criá-los aqui. Aqui eu coletei alguns pontos escorregadios e tentativas de contorná-los. Vamos começar!
Comece as migrações no lançamento do aplicativo
Você está familiarizado com o código a seguir?
context.Database.Migrate();
Em caso afirmativo, provavelmente você fará as migrações automaticamente no início do projeto. Bom ou ruim, você pode discutir nos comentários. Eu, por sua vez, quero alertar contra o seguinte.
cmd, PS , , 2 : . - , . - , (sln). .
? , ( ) . , , , , , , . ? , . , , , , , Remove-Migration, , , . , , Remove-Migration. , , ?
, 2 :
.
, . .
-, :
, .
, , .
, Remove-Migration. , . Remove-Migration (csproj). , , , Git ( ) .
, ( ). csproj .
SQL
, , (, , - ) SQL . Script-Migration. . . .
EF Core 3.0 Script-DbContext .
, , , , SQL .
Nute aqui, ao que parece, é simples. Estamos essencialmente mudando algo, criando migração e nos alegrando com o resultado. No entanto, o resultado pode ser inesperado quando você precisar excluir um campo e criar outro do mesmo tipo. Nesse caso, o migrador criará um comando para renomear a coluna no banco de dados. Todos os dados da coluna excluída, respectivamente, serão transferidos para a nova. Neste caso, você pode criar 2 migrações: para deletar uma coluna e para criar uma nova. Depois disso, para que 2 migrações não estejam surgindo em vez de uma, você pode combinar seus códigos para cima e para baixo e excluir o último.
Conclusão
Concluindo, quero dizer, fique atento aos dados, verifique novas migrações, pense sobre elas, não tenha medo de editá-las. E você ainda pisará em qualquer ancinho não óbvio ao trabalhar com EF.