• leandro pereira

MySQL: Criando um schema e migrando dados

Não é raro que em meio a um projeto apareça a necessidade de fazer uma migração de dados. E quando pensamos na arquitetura de micro-serviços, começar separando os dados por schemas pode ser um primeiro passo para deixar o monolito para trás.


Vamos lá!!


O primeiro passo é criar um novo schema no MySQL, que pode ser feito com o seguinte comando:

CREATE SCHEMA new_schema;

Pronto! Agora já podemos iniciar a migração para o novo schema. A primeira coisa é copiar a estrutura de todas as tabelas que você deseja migrar. Da seguinte forma:

CREATE TABLE new_schema.table_1 LIKE old_schema.table_1;
CREATE TABLE new_schema.table_2 LIKE old_schema.table_2;
CREATE TABLE new_schema.table_3 LIKE old_schema.table_3;

Se fizermos um select agora em uma das tabelas do novo schema, vamos perceber que a tabela está criada exatamente com a mesma estrutura da antiga, porém estão todas vazias.

Então, por fim, vamos fazer a migração dos dados.


INSERT new_schema.table_1 SELECT * FROM old_schema.table_1;
INSERT new_schema.table_2 SELECT * FROM old_schema.table_2;
INSERT new_schema.table_3 SELECT * FROM old_schema.table_3;

Um lembrete. Antes de fazer a cópia dos dados, é importante “desligar” qualquer aplicação que faça operações na base antiga para evitar perda de dados.


Então é isso, seus dados já estão migrados e você já pode começar a usá-los.


Até a próxima!!!


Posts recentes

Ver tudo