Migrações com EF Core

As modelagens de dados mudam de acordo com os recursos e novas funcionalidades do projeto, ou seja, quando novas entidades ou propriedades são adicionadas ou removidas o Schema de bancos de dados tem que ficar em plena sincronia com o aplicativo. Para isso, o EF Core disponibiliza um recurso de migração o Schema do banco de modo que preserve os dados dentro desse banco. Como funciona? Quando uma alteração de modelo de dados é feita o desenvolvedor pode gerar a migração descrevendo as alterações necessárias para a sincronia do banco. O próprio EF Core compara o modelo atual e o antigo para gerar os arquivos de migração, que pode ser acompanhado dentro do código fonte do próprio projeto. Criando a primeira migração No Packager Manager Console, digite: Add-Migration [Nome] A partir disso, você pode fazer que o EF Core crie o seu banco de dados e schemas a partir do arquivo gerado Update-Database Criando novas migrações Certo, agora imagine que seu projeto evoluiu e você implementou diversos atributos e entidades no seu projeto. Então o seu models do backend e o banco de dados estão fora de sincronia. Para sincronizar então é necessário subir uma nova migração. Add-Migration [Nome] E para aplicar essa migração, é necessário atualizar o banco de dados. Update-Database Aplicando isso, o nosso EF Core já entende que existe uma tabela aplicada anteriormente, já que esse fato é registrado na tabela de migrações. Reverter migração Para reverter uma migração no Entity Framework Core, você pode usar o comando dotnet ef database update seguido pelo nome da migração anterior (ou o valor 0 para voltar ao estado inicial, sem migrações aplicadas). Reverter para uma migração específica: Se quiser reverter para uma migração específica, basta passar o nome da migração desejada: Update-Database NomeDaMigracao Reverter todas as migrações (voltar ao estado inicial): Para remover todas as migrações aplicadas ao banco de dados, use 0 como parâmetro: Update-Database 0 Remover migração Depois de reverter o banco de dados, você pode remover a migração do projeto com o comando: Remove-Migration

Feb 26, 2025 - 03:58
 0
Migrações com EF Core

As modelagens de dados mudam de acordo com os recursos e novas funcionalidades do projeto, ou seja, quando novas entidades ou propriedades são adicionadas ou removidas o Schema de bancos de dados tem que ficar em plena sincronia com o aplicativo.

Para isso, o EF Core disponibiliza um recurso de migração o Schema do banco de modo que preserve os dados dentro desse banco.

Como funciona?

Quando uma alteração de modelo de dados é feita o desenvolvedor pode gerar a migração descrevendo as alterações necessárias para a sincronia do banco.

O próprio EF Core compara o modelo atual e o antigo para gerar os arquivos de migração, que pode ser acompanhado dentro do código fonte do próprio projeto.

Criando a primeira migração

No Packager Manager Console, digite:

Add-Migration [Nome]

A partir disso, você pode fazer que o EF Core crie o seu banco de dados e schemas a partir do arquivo gerado

Update-Database

Criando novas migrações

Certo, agora imagine que seu projeto evoluiu e você implementou diversos atributos e entidades no seu projeto. Então o seu models do backend e o banco de dados estão fora de sincronia. Para sincronizar então é necessário subir uma nova migração.

Add-Migration [Nome]

E para aplicar essa migração, é necessário atualizar o banco de dados.

Update-Database

Aplicando isso, o nosso EF Core já entende que existe uma tabela aplicada anteriormente, já que esse fato é registrado na tabela de migrações.

Reverter migração

Para reverter uma migração no Entity Framework Core, você pode usar o comando dotnet ef database update seguido pelo nome da migração anterior (ou o valor 0 para voltar ao estado inicial, sem migrações aplicadas).

Reverter para uma migração específica:
Se quiser reverter para uma migração específica, basta passar o nome da migração desejada:

Update-Database NomeDaMigracao

Reverter todas as migrações (voltar ao estado inicial):
Para remover todas as migrações aplicadas ao banco de dados, use 0 como parâmetro:

Update-Database 0

Remover migração

Depois de reverter o banco de dados, você pode remover a migração do projeto com o comando:

Remove-Migration