Como implementar banco de dados e orm em Backend
Prompt gerado automaticamente para Banco de dados e ORM em Backend
5.0
34 usos
ChatGPT
"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
Como Usar este Prompt
1
Clique no botão "Copiar Prompt" para copiar o conteúdo completo.
2
Abra sua ferramenta de IA de preferência (ChatGPT e etc.).
3
Cole o prompt e substitua as variáveis (se houver) com suas informações.
Outros prompts de Backend
Continue explorando prompts nesta categoria.
Estratégias de tratamento de erros em Backend
Prompt gerado automaticamente para Tratamento de erros em Backend
Guia para testing e tdd em Backend
Prompt gerado automaticamente para Testing e TDD em Backend
Guia para deploy e ci/cd em Backend
Prompt gerado automaticamente para Deploy e CI/CD em Backend