Instalamos o Flyway localmente e criamos o nosso banco de dados SQL Database no Azure. Agora, iremos rodar ele.
Tópicos
Connection String
E para isso, vamos ir no diretorio do flyway e abrir o arquivo flyway.conf dentro do diretorio conf.
Precisamos retirar o comentário do parâmetro flyway.url e adicionar a nossa conexão. Podemos obter ela no portal do azure, indo no nosso servico do SQL Database e em Settings / Connection String.
E dentro de Connection String, vamos ir na aba JDBC e copiar a conexao disponivel.
Não precisamos colocar todo o conteúdo do JDBC, podemos adicionar ele apenas ate o nome do nosso database, ficando assim:
O flyway.user e flyway.user tambem é opcional.
E podemos novamente rodar o comando flyway info. Ele pedirá nosso usuário e senha e mostrará essa mensagem: No migrations found.
Criando nosso Primeiro Script
E vamos ir ate a pasta sql. E é nela que devemos adicionar os nossos scripts SQL.
Podemos renomear o arquivo existente por V1__CreateTables.sql.
E abrindo o arquivo, iremos incluir esse script.
/* Single line comment */
CREATE TABLE Customers (
CustomerId smallint identity(1,1),
Name nvarchar(255),
Priority tinyint
)
CREATE TABLE Sales (
TransactionId smallint identity(1,1),
CustomerId smallint,
[Net Amount] int,
Completed bit
)
GO
E como podemos ver, ele é bem simples. Irá criar 2 tabelas ....
E vamos rodar novamente o comando flyway info
.
E veja, agora temos 1 script, pendente de migração.
Migração
E vamos executar a migração.
Faremos ela, com o comando flyway migrate
.
E podemos ver que ele migrou com sucesso.
Vamos agora ao Azure, acessando o Query Editor do nosso banco de dados SQL Database. Atualizando as tables, podemos ver que o script foi executado e criou as 2 tabelas.
Além disso, o Flyway criou a tabela dbo.flyway_schema_history. Ele usa esse tabela para manter o histórico de execucação dos Scripts.
SELECT TOP (1000) * FROM [dbo].[flyway_schema_history]
Executando o comando acima, podemos ver dados quanto ao script executado, como a versão, o nome do script, quem executou e quando.
No próximo artigo dessa serie, iremos rodar o Flyway a partir do nosso pipeline de Deploy Continua usando o Azure DevOps.
:)
Top comments (2)
Higor você sabe se existe uma autenticação do flyway via Azure AD ?
Oi, existe sim. Voce consegue usando o ADAL4J. flywaydb.org/documentation/databas...