Microserviço referente ao backend da Administração do Catálogo de Vídeos
- JDK 17
- IDE de sua preferência
- Docker
- Clonar o repositório:
git clone https://github.com/Vicenteefenequis/spring-task-organizer-api.git
- Subir o banco de dados MySQL com Docker:
docker-compose up -d
- Executar as migrações do MySQL com o Flyway:
./gradlew flywayMigrate
A documentação dos endpoints foi feita com o Swagger e pode ser acessada em:
http://localhost:8080/api/swagger-ui.html
O banco de dados principal é um MySQL e para subir localmente vamos utilizar o Docker. Execute o comando a seguir para subir o MySQL:
docker-compose up -d
Pronto! Aguarde que em instantes o MySQL irá estar pronto para ser consumido na porta 3306.
Caso seja a primeira vez que esteja subindo o banco de dados, é necessário
executar as migrações SQL com a ferramenta flyway
.
Execute o comando a seguir para executar as migrações:
./gradlew flywayMigrate
Pronto! Agora sim o banco de dados MySQL está pronto para ser utilizado.
É possível limpar (deletar todas as tabelas) seu banco de dados, basta executar o seguinte comando:
./gradlew flywayClean
MAS lembre-se: "Grandes poderes, vem grandes responsabilidades".
Existe duas maneiras de gerar uma inconsistência no Flyway deixando ele no estado de reparação:
- Algum arquivo SQL de migração com erro;
- Algum arquivo de migração já aplicado foi alterado (modificando o
checksum
).
Quando isso acontecer o flyway ficará em um estado de reparação
com um registro na tabela flyway_schema_history
com erro (sucesso = 0
).
Para executar a reparação, corrija os arquivos e execute:
./gradlew flywayRepair
Com o comando acima o Flyway limpará os registros com erro da tabela flyway_schema_history
,
na sequência execute o comando FlywayMigrate para tentar migrar-los novamente.
Além dos comandos já exibidos, temos alguns outros muito úteis como o info e o validate:
./gradlew flywayInfo
./gradlew flywayValidate
Para saber todos os comandos disponíveis: Flyway Gradle Plugin