Migration
Nesta seção, você encontra mais informações sobre o serviço de migração para o banco de dados.
O que é?
O Horusec-Migration é um microsserviço responsável por realizar a migração no banco de dados do Horusec. Ele é baseado no golang-migrate
Requisitos
Para rodar este serviço local, basta ter:
- PostgreSQL;
- Docker.
Execução
Você pode executar esse serviço de duas formas, veja abaixo:
- Manualmente: Clone o projeto do Horusec-Platform em sua máquina e rode o comando abaixo:
make migrate
- Execução docker: Clone o projeto do Horusec-Platform em sua máquina e rode a imagem docker:
- Crie um volume com todos arquivos de migração;
- Crie uma variável de ambiente para saber qual o banco de dados deverá ser executado, pode ser o
platform
ou oanalytic
; - Crie uma variável de ambiente para saber a URI de conexão com o banco de dados.
Veja abaixo um exemplo onde a migração ocorre nos dois bancos de dados:
HORUSEC_DEFAULT_DATABASE_SQL_URI="postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/horusec_db?sslmode=$POSTGRES_SSL_MODE"
HORUSEC_ANALYTIC_DATABASE_SQL_URI="postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/horusec_analytic_db?sslmode=$POSTGRES_SSL_MODE"
docker run --name migrate --rm \
-v "$(pwd)/migrations/source:/horusec-migrations" \
-e HORUSEC_DATABASE_SQL_URI=$HORUSEC_DEFAULT_DATABASE_SQL_URI \
-e MIGRATION_NAME=platform \
--network=container:horusec_postgresql \
horuszup/horusec-migrations:latest \
up
docker run --name migrate --rm \
-v "$(pwd)/migrations/source:/horusec-migrations" \
-e HORUSEC_DATABASE_SQL_URI=$HORUSEC_ANALYTIC_DATABASE_SQL_URI \
-e MIGRATION_NAME=analytic \
--network=container:horusec_postgresql \
horuszup/horusec-migrations:latest \
up
As váriaveis: POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_HOST, POSTGRES_PORT, POSTGRES_SSL_MODE devem ser informadas para que a conexão seja realizada com sucesso.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
Última modificação 20.05.2021: Horusec v2 (#59) (8b86c28f)