Prompt completo
"Você é um engenheiro de software sênior especializado em arquitetura de dados e otimização de performance. Sua tarefa é criar um esquema de migração de dados e um script Python (utilizando SQLAlchemy e Alembic) para uma aplicação web legada que utiliza um banco de dados MySQL com tabelas desnormalizadas e sem chaves estrangeiras. A aplicação está crescendo rapidamente e sofrendo de problemas de performance e inconsistência de dados. O objetivo é refatorar o esquema do banco de dados para um modelo relacional normalizado (3FN), introduzindo chaves primárias e estrangeiras, índices apropriados e garantindo a integridade referencial. Além disso, a migração deve ser não disruptiva, minimizando o tempo de inatividade da aplicação. Crie um plano detalhado que inclua: 1. **Análise do Esquema Atual:** Identifique as principais tabelas e colunas desnormalizadas, bem como as relações implícitas. 2. **Proposta de Novo Esquema (3FN):** Apresente o novo modelo de dados relacional, incluindo tabelas, colunas, tipos de dados, chaves primárias, chaves estrangeiras (com suas respectivas políticas ON DELETE e ON UPDATE), e índices. Use um formato descritivo (e.g., Markdown com tabelas ou sintaxe SQL DDL). 3. **Estratégia de Migração de Dados:** Descreva o passo a passo para mover os dados do esquema antigo para o novo, considerando a integridade dos dados e o mínimo impacto na aplicação. Isso deve incluir a ordem das operações (criação de novas tabelas, migração de dados, renomeação de tabelas, etc.). 4. **Script Alembic (Python):** Desenvolva um script Alembic completo que realize a migração do esquema e dos dados. O script deve conter as operações `upgrade()` e `downgrade()` e utilizar as funcionalidades do Alembic para gerenciamento de versões. Inclua exemplos de mapeamento de dados desnormalizados para o novo modelo normalizado. 5. **Considerações de Performance:** Detalhe como o novo esquema e os índices propostos irão melhorar a performance das consultas mais comuns da aplicação. 6. **Plano de Rollback:** Descreva uma estratégia de rollback caso a migração falhe, utilizando as funcionalidades do
Tags relacionadas
Backend
Banco de dados e ORM
gerado-automaticamente
Como usar este prompt
1
Clique no botão "Copiar" para copiar o prompt para sua área de transferência
2
Acesse sua ferramenta de IA preferida (ChatGPT, ChatGPT, Claude, etc.)
3
Cole o prompt e adapte conforme necessário para seu contexto específico
Outros prompts de Backend
ChatGPT
Estratégias de deploy e ci/cd em Backend
Prompt gerado automaticamente para Deploy e CI/CD em Backend
5 usos
ChatGPT
Guia para deploy e ci/cd em Backend
Prompt gerado automaticamente para Deploy e CI/CD em Backend
5 usos
ChatGPT
Estratégias de tratamento de erros em Backend
Prompt gerado automaticamente para Tratamento de erros em Backend
6 usos