Skip to content

[UNDER DEVELOPMENT] CLI para executar migrações em um bancos de dados MySQL executado em um contêiner Docker.

Notifications You must be signed in to change notification settings

AllanCapistrano/mysql-migrations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MySQL Migrations

Executa migrações em bancos de dados MySQL que estão sendo executados em um container Docker.

Documentação

Comandos:

Migrate

Realiza uma migração nos bancos de dados a partir de um arquivo .sql ou de uma query SQL. Durante o processo, são feitas cópias dos bancos de dados para caso seja necessário realizar o rollback, realizado através do comando 'mm rollback'.

mm migrate my_migration.sql

Flags

--database | -D

Realiza a migração somente no banco de dado especificado.

mm migrate my_migration.sql --database database_1

mm migrate my_migration.sql -D database_1

Para múltiplos bancos de dados, utilize a flag mais de uma vez.

mm migrate my_migration.sql --database database_1 --database database_2

mm migrate my_migration.sql -D database_1 -D database_2
--databases

Realiza a migração somente nos bancos de dados especificados. Para múltiplos bancos de dados, utilize vírgulas para separá-los.

mm migrate my_migration.sql --databases database_1,database_2

Important

Caso sejam utilizadas as flags --database e --databases no mesmo comando, somente o(s) banco(s) de dados especificado(s) pela última flag serão considerados.

--sql | -S

Especifica uma query SQL para realizar a migração em vez de utilizar um arquivo .sql.

mm migrate --sql "CREATE TABLE users (id INT)"

mm migrate -S "CREATE TABLE users (id INT)"

Note

As queries são validadas antes de serem executadas.

--no-database

Realiza a migração em todos bancos de dados, exceto no especificado.

mm migrate my_migration.sql --no-database database_1

Para múltiplos bancos de dados, utilize a flag mais de uma vez.

mm migrate my_migration.sql --no-database database_1 --no-database database_2
--no-databases

Realiza a migração em todos bancos de dados, exceto nos especificados. Para múltiplos bancos de dados, utilize vírgulas para separá-los.

mm migrate my_migration.sql --no-databases database_1,database_2

Tip

As flags podem ser combinadas em um só comando

mm migrate --sql "CREATE TABLE users (id INT)" --databases database_1,database_2

Rollback

Realiza o rollback da migração mais recente a partir do último arquivo criado no diretório '.rollback'. Caso nenhum arquivo seja encontrado, o rollback não poderá ser realizado. Ao final do processo o arquivo de rollback é removido.

mm rollback
--database | -D

Realiza o rollback somente no banco de dado especificado.

mm rollback --database database_1

mm rollback -D database_1

Para múltiplos bancos de dados, utilize a flag mais de uma vez.

mm rollback --database database_1 --database database_2

mm rollback -D database_1 -D database_2
--databases

Realiza o rollback somente nos bancos de dados especificados. Para múltiplos bancos de dados, utilize vírgulas para separá-los.

mm rollback --databases database_1,database_2

Important

Caso sejam utilizadas as flags --database e --databases no mesmo comando, somente o(s) banco(s) de dados especificado(s) pela última flag serão considerados.

--no-database

Realiza o rollback em todos bancos de dados, exceto no especificado.

mm rollback --no-database database_1

Para múltiplos bancos de dados, utilize a flag mais de uma vez.

mm rollback --no-database database_1 --no-database database_2
--no-databases

Realiza o rollback em todos bancos de dados, exceto nos especificados. Para múltiplos bancos de dados, utilize vírgulas para separá-los.

mm rollback --no-databases database_1,database_2

Dump

Realiza o dump de todos os bancos de dados (baseados na whitelist e blacklist, se estiverem preenchidas) organizando-os em diferentes diretórios.

mm dump
--database | -D

Realiza o dump somente do banco de dado especificado.

mm dump --database database_1

mm dump -D database_1

Para múltiplos bancos de dados, utilize a flag mais de uma vez.

mm dump --database database_1 --database database_2

mm dump -D database_1 -D database_2
--databases

Realiza o dump somente dos bancos de dados especificados. Para múltiplos bancos de dados, utilize vírgulas para separá-los.

mm dump --databases database_1,database_2

Important

Caso sejam utilizadas as flags --database e --databases no mesmo comando, somente o(s) banco(s) de dados especificado(s) pela última flag serão considerados.

--no-database

Realiza o dump de todos bancos de dados, exceto no especificado.

mm dump --no-database database_1

Para múltiplos bancos de dados, utilize a flag mais de uma vez.

mm dump --no-database database_1 --no-database database_2
--no-databases

Realiza o dump de todos bancos de dados, exceto nos especificados. Para múltiplos bancos de dados, utilize vírgulas para separá-los.

mm dump --no-databases database_1,database_2

Clear

Remove todos os arquivos de rollback que estão presentes no diretório '.rollback'

mm clear

Databases

Lista todos os bancos de dados nos quais os comandos serão executados, leva em consideração os bancos de dados definidos na 'whitelist' e na 'blacklist'.

Os bancos de dados definidos na 'whitelist' são os de maior precedência, ou seja, caso não esteja vazia, os comandos só serão executados nos bancos de dados dessa lista.

Os bancos de dados definidos na 'blacklist' são filtrados, ou seja, caso não esteja vazia, os comando serão executados em todos os bancos de dados, menos naqueles que estão nessa lista.

mm databases

About

[UNDER DEVELOPMENT] CLI para executar migrações em um bancos de dados MySQL executado em um contêiner Docker.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published