Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Migrations

Fala pessoa, beleza?

Notei que ao rodar o dotnet ef database update tendo uma migração anterior, ele fala que minha tabela já existe. Por exemplo, já havia rodado o ef migrate pra criação da minha tabela, mas precisei incluir mais atributos, só que ao rodar a segunda migrations ele estourou o erro : Table 'TbEmpresa' already exists. Mas ele roda normal se eu excluir a migration anterior do projeto. É necessário que eu fique excluindo, ou existe uma forma de ficar gerando as migrations sem estourar esse erro?

1 resposta
solução!

Olá Gerdan, tudo bem?

Realmente, ter um banco de dados já criado pode dar problemas em adicionar novas migrações, porque o sistema mantém um histórico de todas as tabelas e colunas do banco de dados. Se uma tabela ou coluna não aparece no histórico de migrações, sempre terá problemas com migrações novas.

O indicado é fazer como o Daniel fez, ou comenta tudo envolvendo aquela tabela (mas as informações devem ser idênticas) ou faz o banco de dados code-first, onde seu modelo de classe define como será o banco de dados.

Em contrapartida, pode usar o scaffolding para fazer a aplicação database-first, como é mostrado neste artigo.

Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software