database-migration
Cria ou revisa migrações de banco de dados seguras. Use quando pedirem para criar migration, alterar schema, ou adicionar coluna/tabela.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Cria ou revisa migrações de banco de dados seguras. Use quando pedirem para criar migration, alterar schema, ou adicionar coluna/tabela.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Acione o `tech-writer` para criar um novo Architecture Decision Record (ADR).
Template e guia para ADRs (Architecture Decision Records): quando criar, estrutura, exemplos. Use quando documentar decisões arquiteturais ou criar ADRs.
Padrões Android modernos: Kotlin, Jetpack Compose, MVVM, Hilt, Room, Navigation, Coroutines, testes. Use quando implementar features em Android nativo.
Padrões Angular modernos: Standalone Components, Signals, inject(), HttpClient, RxJS, Testing. Use quando implementar features em Angular ou configurar projeto Angular.
Migração AngularJS para Angular: estratégia incremental, ngUpgrade, dual-boot, padrões de coexistência. Use quando planejar ou executar migração de AngularJS (1.x) para Angular moderno.
Design de API REST seguindo boas práticas. Use quando pedirem para projetar API, definir endpoints, criar contrato REST ou OpenAPI.
| name | database-migration |
| description | Cria ou revisa migrações de banco de dados seguras. Use quando pedirem para criar migration, alterar schema, ou adicionar coluna/tabela. |
| argument-hint | [contexto adicional] |
Crie ou revise migrações de banco de dados com segurança para produção.
Nunca faça operações que lockam tabelas em produção:
| Operação | Segura? | Alternativa |
|---|---|---|
| ADD COLUMN (nullable) | Sim | — |
| ADD COLUMN (NOT NULL + default) | Depende do DB | Adicionar nullable → backfill → add constraint |
| DROP COLUMN | Sim (cuidado com código) | Deploy código primeiro, depois drop |
| RENAME COLUMN | Não | Add new → backfill → migrate code → drop old |
| ADD INDEX | Depende | CREATE INDEX CONCURRENTLY (Postgres) |
| ALTER TYPE | Não | Add new column → migrate → drop old |
| DROP TABLE | Sim (cuidado) | Confirmar que nenhum código referencia |
Para mudanças incompatíveis:
UPDATE table SET column = value em tabelas grandes — faça em batchesV{version}__{description}.sql # Flyway
{timestamp}_{description}.sql # Alembic/Django
{number}_{description}.up.sql # golang-migrate
Exemplos:
V001__create_orders_table.sql
V002__add_status_column_to_orders.sql
V003__create_index_orders_status.sql
-- Migration: {descrição}
-- Author: {nome}
-- Date: {data}
-- Reversible: yes/no
-- UP
ALTER TABLE orders ADD COLUMN status VARCHAR(50);
CREATE INDEX CONCURRENTLY idx_orders_status ON orders(status);
-- DOWN (rollback)
DROP INDEX IF EXISTS idx_orders_status;
ALTER TABLE orders DROP COLUMN IF EXISTS status;