Junior — Middle
Criaste tu próprio migrações para gerenciar o banco de dados no Django?
sobes.tech IA
Resposta da IA
No Django, as migrações são criadas automaticamente usando o comando makemigrations, que gera ficheiros de migração com base nas alterações nos modelos. No entanto, também é possível criar migrações personalizadas manualmente, se for necessário realizar operações não padrão na base de dados, como modificar dados, adicionar índices ou executar consultas SQL.
Exemplo de criação de uma migração personalizada:
from django.db import migrations, models
def custom_operation(apps, schema_editor):
MyModel = apps.get_model('myapp', 'MyModel')
for obj in MyModel.objects.all():
obj.field = 'novo valor'
obj.save()
class Migration(migrations.Migration):
dependencies = [
('myapp', '0001_initial'),
]
operations = [
migrations.RunPython(custom_operation),
]
Assim, as migrações personalizadas permitem realizar ações arbitrárias na base de dados, que vão além da criação automática de tabelas e campos.