database-migration
Faz seu agente mover dados entre diferentes sistemas de banco de dados. Ajuda a garantir que a mudança seja feita sem perder informações e com segurança.
O que ela faz
Esta ferramenta ajuda a gerenciar mudanças em bancos de dados. Ela permite atualizar a estrutura e os dados do seu banco de dados de forma segura, mesmo quando você muda de sistema de gerenciamento de banco de dados (ORM) ou precisa fazer atualizações sem interromper o serviço.
Quando usar
- ✓Quando você precisa mudar de um sistema de banco de dados para outro.
- ✓Ao atualizar a estrutura do seu banco de dados (adicionar, remover ou modificar tabelas/colunas).
- ✓Para mover ou transformar dados entre bancos de dados.
Exemplo do que pedir para a IA
“Como posso migrar meu banco de dados de Sequelize para TypeORM, garantindo que os dados sejam transferidos corretamente e que o serviço não pare?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta guia você através do processo de criação de scripts que alteram o banco de dados. Ela também oferece estratégias para reverter mudanças caso algo dê errado e para realizar atualizações sem que o sistema fique indisponível.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill database-migrationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/database-migration/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Disponibilidade de material de suporte
Esta cópia do catálogo contém as orientações inline abaixo, mas não inclui os seguintes caminhos de suporte. Eles são pré-requisitos externos, não arquivos empacotados:
<support-root>/references/orm-switching.md<support-root>/references/schema-migration.md<support-root>/references/data-transformation.md<support-root>/references/rollback-strategies.md<support-root>/assets/schema-migration-template.sql<support-root>/assets/data-migration-script.py<support-root>/scripts/test-migration.sh
Solicite o material de suporte original ou uma instalação existente antes de usar uma etapa que dependa desses caminhos; este catálogo não identifica uma fonte de download verificada para eles. Resolva cada caminho em relação a essa instalação, inspecione seu conteúdo e verifique quaisquer licenças aplicáveis e pré-requisitos de execução. Não execute um comando nem afirme que um procedimento referenciado foi seguido até que seu arquivo necessário exista. Não fabrique os scripts ausentes nem trate um arquivo não relacionado com o mesmo nome como equivalente. Etapas independentes totalmente documentadas aqui podem prosseguir dentro do escopo autorizado do usuário; relate qualquer etapa dependente como indisponível.
Migração de Banco de Dados
Esquema mestre de banco de dados e migrações de dados entre ORMs (Sequelize, TypeORM, Prisma), incluindo estratégias de rollback e implantações sem tempo de inatividade.
Não use esta habilidade quando
- A tarefa não estiver relacionada à migração de banco de dados
- Você precisar de um domínio ou ferramenta diferente fora deste escopo
Instruções
- Esclareça objetivos, restrições e entradas necessárias.
- Aplique as melhores práticas relevantes e valide os resultados.
- Forneça etapas acionáveis e verificação.
Use esta habilidade quando
- Migrando entre diferentes ORMs
- Realizando transformações de esquema
- Movendo dados entre bancos de dados
- Implementando procedimentos de rollback
- Implantações sem tempo de inatividade
- Atualizações de versão de banco de dados
- Refatoração de modelo de dados
Migrações de ORM
Migrações Sequelize
// migrations/20231201-create-users.js
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.createTable('users', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
email: {
type: Sequelize.STRING,
unique: true,
allowNull: false
},
createdAt: Sequelize.DATE,
updatedAt: Sequelize.DATE
});
},
down: async (queryInterface, Sequelize) => {
await queryInterface.dropTable('users');
}
};
// Run: npx sequelize-cli db:migrate
// Rollback: npx sequelize-cli db:migrate:undo
Migrações TypeORM
// migrations/1701234567-CreateUsers.ts
import { MigrationInterface, QueryRunner, Table } from 'typeorm';
export class CreateUsers1701234567 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.createTable(
new Table({
name: 'users',
columns: [
{
name: 'id',
type: 'int',
isPrimary: true,
isGenerated: true,
generationStrategy: 'increment'
},
{
name: 'email',
type: 'varchar',
isUnique: true
},
{
name: 'created_at',
type: 'timestamp',
default: 'CURRENT_TIMESTAMP'
}
]
})
);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.dropTable('users');
}
}
// Run: npm run typeorm migration:run
// Rollback: npm run typeorm migration:revert
Migrações Prisma
// schema.prisma
model User {
id Int @id @default(autoincrement())
email String @unique
createdAt DateTime @default(now())
}
// Generate migration: npx prisma migrate dev --name create_users
// Apply: npx prisma migrate deploy
Transformações de Esquema
Adicionando Colunas com Valores Padrão
// Safe migration: add column with default
module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.addColumn('users', 'status', {
type: Sequelize.STRING,
defaultValue: 'active',
allowNull: false
});
},
down: async (queryInterface) => {
await queryInterface.removeColumn('users', 'status');
}
};
Renomeando Colunas (Sem Tempo de Inatividade)
// Passo 1: Adicionar nova coluna
module.exports = {
up: async (queryInterface, Sequelize) => {
…
Perguntas frequentes
O que é um ORM?
ORM significa 'Object-Relational Mapping'. É uma técnica que permite que você interaja com seu banco de dados usando a linguagem de programação que você já conhece, em vez de escrever comandos SQL diretamente.
O que é 'zero-downtime deployment'?
É uma estratégia para atualizar um sistema ou banco de dados sem que ele fique fora do ar para os usuários. O objetivo é que a transição seja tão suave que ninguém perceba.
O que é 'rollback'?
Rollback é o processo de desfazer uma mudança que foi aplicada. Se uma atualização no banco de dados causar problemas, o rollback permite voltar para o estado anterior, como se a atualização nunca tivesse acontecido.
Detalhes
Descrição original do autor
Master database schema and data migrations across ORMs (Sequelize, TypeORM, Prisma), including rollback strategies and zero-downtime deployments.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2718
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
clickhouse-io
Ajuda seu agente a otimizar consultas e esquemas no banco de dados ClickHouse. Ele aplica as melhores práticas para cargas de trabalho analíticas de alta performance. Use quando consultas analíticas demoram muito.
affaan-m/ECC
scientific-db-pubmed-database
Ajuda seu agente a buscar artigos científicos na área biomédica. É útil para pesquisas que precisam de informações médicas específicas.
affaan-m/ECC
scientific-db-uspto-database
Permite ao agente consultar dados oficiais de patentes e marcas registradas dos EUA. É útil para pesquisas de propriedade intelectual.
affaan-m/ECC