EF Migrações - banco de dados Existente, mas pretende implantar a partir do zero
-
11-12-2019 - |
Pergunta
Eu tenho um existente dev DB com o esquema e dados.Eu criei as classes usando o utilitário microsoft (CodeFirst classes).Eu, então, habilitado migrações.
Agora eu estou confuso sobre o comportamento de IgnoreChanges.Se a migração inicial não tem nenhuma Cima() e não para Baixo() lógica, o que vai acontecer quando eu implantar um prod db?
Faz EF simplesmente ignorar todas as migrações e apenas construir a partir do zero directamente a partir do modelo?
Se eu não colocar -IgnoreChanges, para todos os() e Baixo() lógica é lá.Mas após a Atualização do Banco de dados, ele lança uma exceção sobre uma tabela com o mesmo nome já existente.
Eu estou usando EF 5 RC.
Solução
IgnoreChanges
é para situações onde você tem de aplicativo existente (em ambos os dev e prod) e você quiser começar a usar as migrações. IgnoreChanges
vai simplificar a adição de migração inicial a base de dados existente.Se você está no cenário onde não há banco de dados de produção existe, você não pode usar Ignorar as alterações.
A simples opção para o seu caso é a criação de entidades de base de dados existente e continuar trabalhando em outro banco de dados criado pela migração de essas entidades, porque você precisa de criação de tabela para todas as entidades em Up
método (e Down
método respectivamente).