Skip to content

Migrations how to

Raffaello Damgaard Neves edited this page Dec 11, 2021 · 10 revisions

obs: essa page é apenas um rascunho. Sinta-se livre corrigir se ver algo errado.

Baixei o projeto. Como devo proceder?

1 - Configure a sua connection string

No projeto Sharebook.Api, abre o arquivo appSettings.Development.json e configure a connection string (ConnectionStrings >> DefaultConnectionString) para o seu banco local. Você pode configurar para uma instância do Sql Server ou para localDb.

2 - Configure os projetos

  • Selecione o projeto Sharebook.Api como projeto de inicialização (Startup Project).
  • No Package Manager Console, selecione o projeto Sharebook.Repository como projeto padrão (Default Project).

3 - Execute o update

  • Execute o comando Update-Database para rodar as migrations do projeto

Preciso alterar um dado. Como devo fazer?

1 - Altere o dado

  • Na pasta 3-Repository >> ShareBook.Repository >> Mapping, você tem os mapeamentos entre as entidades e as tabelas do banco.
  • Na pasta 00 - Domain >> Sharebook.Domain, você tem as classes referentes as tabelas
  • Execute as alterações conforme necessário

2 - Execute os comandos de migration

  • No Package Manager Console, execute os comandos
    • Add-Migration NOME_SIGNIFICATIVO => o nome deve ser facilmente entendido. Logo, faça pequenas alterações, mesmo que com isso você tenha diversas migrations.
    • Update-Database

Preciso incluir uma nova tabela

1 - Crie as classes necessárias

  • Na pasta 00 - Domain >> Sharebook.Domain, crie a classe referente a tabela
  • Na pasta 3-Repository >> ShareBook.Repository >> Mapping, crie o mapeamento entre classe do passo anterior e a tabela do banco.

2 - Execute os comandos de migration

  • No Package Manager Console, execute os comandos
    • Add-Migration NOME_SIGNIFICATIVO => o nome deve ser facilmente entendido. Logo, faça pequenas alterações, mesmo que com isso você tenha diversas migrations.
    • Update-Database

ATENÇÃO

Sempre faça pequenos processos e efetue o commit. Se você precisa criar 3 tabelas, faça o processo de uma e efetue o commit. Depois vá para a próxima.


COMO RODAR MIGRATIONS NO MAC OU LINUX?

  1. instalar o SDK .net

  2. instalar o CLI do EF

dotnet tool install --global dotnet-ef
  1. abrir o console e ir pra pasta do projeto api
cd /path/to/ShareBook.Api
  1. rodar migrations informando o path do projeto "ShareBook.Repository"
dotnet ef migrations add PasswordUpdateDate --project /path/to/ShareBook.Repository