Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

migrate vs ensurecreated

ola, qual é a diferença entre o banco ser criado so com mapeamento e ser criado com as entidades e mapeamento?

6 respostas

Olá Luan, tudo certo?

Não entendi muito bem o que você quis dizer com criado apenas com mapeamento. Você quis dizer sobre o banco ser criado com as entidades e mapeamento ou criado com as migrações existentes?

No aguardo!

tem uma questao no curso que diz que O método EnsureCreated cria o banco utilizando apenas as entidades de relacionamento, ja o migrate utiliza apenas a migraçao , qual diferença?

Ah, certo, com o EnsureCreated() é criado um banco com base nas classes do modelo e o contexto. Com o Migrate() é aplicada a última migração e mantém o histórico de migrações.

Se seu modelo ou contexto for alterado e o banco criado com o EnsureCreated(), você não terá o histórico de migrações dessa alteração e consequentemente não poderá voltar para uma migração anterior. No caso de desenvolvimento e testes, não tem problema nenhum, mas o grande problema é se o ambiente é de produção. Isso sim pode gerar problemas.

Espero ter ajudado!

deixa eu ver se entendi, quando eu crio um banco a partir de classes e o contexto eu crio uma migraçao pra depois montar as tabelas ,certo? quando utilizo o ensureCreated() eu sempre crio uma migraçao nova e as ateriores morrem? ou o ensurecreated nao cria migraçao ?

EnsureCreated() não cria as migrações. Se você usar esse método e existir uma tabela no banco, o esquema não será inicializado e o banco não será atualizado.

Com o Migrate(), o banco é atualizado de acordo com as migrações.

solução!

ah sim, obrigado

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