Executa migrações em bancos de dados MySQL que estão sendo executados em um container Docker.
Comandos:
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
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
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.
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.
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
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
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
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
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.
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
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
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
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
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.
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
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
Remove todos os arquivos de rollback que estão presentes no diretório '.rollback'
mm clear
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