Herdei um aplicativo que usa o Entity Framework Core, junto com um dump de seu banco de dados.
Infelizmente, o aplicativo não utilizou migrações do EF.
Para colocá-lo no caminho certo, criei uma primeira migração. Mas, ao tentar atualizar o banco de dados, recebo um erro porque as tabelas já existem, o que é completamente compreensível.
Como o modelo no código deve corresponder ao modelo relacional, nada deve ser feito, apenas inicializar a __EFMigrationsHistory
tabela e coisas semelhantes.
Existe uma maneira de inicializar migrações do EF Core em tal cenário, aplicando apenas a diferença inicial (espero que nada se o código for consistente com o esquema)?
Caso contrário, acho que terei que criar um novo banco de dados vazio, deixar o EF Core inicializar seu esquema e, então, copiar os dados do banco de dados original.
Estou usando a versão mais recente do EF Core 9.0.2, se for o caso, pois as coisas evoluem regularmente.
Uma solução alternativa que posso pensar é criar manualmente a
__EFMigrationsHistory
tabela no seu banco de dados e inserir um registro para indicar que seu banco de dados está "atualizado" com o instantâneo criado pelo EF.A
__EFMigrationsHistory
tabela possui apenas 2 campos simples:Depois de inserir um registro para indicar que sua "migração inicial" já foi aplicada, você poderá fazer novas migrações posteriormente e executá-las em seu banco de dados existente.
Um exemplo do que inseri no meu banco de dados é o seguinte: