Utilização de Migrations do EF Core para criação e versionamento de alterações do banco de dados.
Primeiramente, você precisa instalar a ferramenta dotnet-ef
através do comando abaixo:
dotnet tool install --global dotnet-ef
Esta aplicação utiliza dois containers Docker, sendo que um contém uma instância do banco de dados PostgreSQL e o outro o pgAdmin.
Inicialize os containers, acessando o diretório Docker/ef-migrations e executando o comando abaixo:
docker-compose up -d
Acesse o pgAdmin através do endereço http://localhost:16543/, informando o usuário postgres@pgadmin.com.br
e a senha pgadmin@123
.
Registre a instância do banco de dados no pgAdmin com os seguintes dados:
- Hostname/address: efcore-migrations-postgres-1
- Port: 5432
- Maintenance database: postgres
- Username: postgres
- Password: postgres@123
Aqui iremos executar comandos para criação do banco de dados e tabelas através do Migrations do EF Core.
Execute o comando abaixo para a criação do banco de dados e a tabela __EFMigrationsHistory, que faz o controle do versionamento de alterações do banco de dados.
dotnet ef database update
Execute o comando abaixo para realizar a geração do arquivo de migration para criação das tabelas mapeadas no EF Core.
dotnet ef migrations add InitialCreate
Execute o comando abaixo para realizar a aplicar, no banco de dados, as migrations criadas.
dotnet ef database update
Após isso, verifique no pgAdmin que as tabelas mapeadas no EF Core foram criadas no banco de dados.