Files
pagasis/backend/authentication/migrations/0007_migrate_externaluser_data.py
T
2025-10-15 23:45:32 -06:00

55 lines
1.9 KiB
Python

# Generated by Django 5.2.6 on 2025-10-02 00:21
from django.db import migrations
def migrate_external_users(apps, schema_editor):
"""Migrar datos de events.ExternalUser a authentication.ExternalUser"""
# Obtener los modelos de las versiones históricas
EventsExternalUser = apps.get_model('events', 'ExternalUser')
AuthExternalUser = apps.get_model('authentication', 'ExternalUser')
# Copiar todos los usuarios externos
for old_user in EventsExternalUser.objects.all():
AuthExternalUser.objects.create(
id=old_user.id,
full_name=old_user.full_name,
account_number=old_user.account_number,
status=old_user.status,
approved_by=old_user.approved_by,
rejection_reason=old_user.rejection_reason,
created_at=old_user.created_at,
processed_at=old_user.processed_at,
)
def reverse_migrate_external_users(apps, schema_editor):
"""Revertir migración de datos"""
AuthExternalUser = apps.get_model('authentication', 'ExternalUser')
EventsExternalUser = apps.get_model('events', 'ExternalUser')
# Copiar de vuelta
for new_user in AuthExternalUser.objects.all():
EventsExternalUser.objects.create(
id=new_user.id,
full_name=new_user.full_name,
account_number=new_user.account_number,
status=new_user.status,
approved_by=new_user.approved_by,
rejection_reason=new_user.rejection_reason,
created_at=new_user.created_at,
processed_at=new_user.processed_at,
)
class Migration(migrations.Migration):
dependencies = [
('authentication', '0006_externaluser'),
('events', '0004_auto_20251001_1400'),
]
operations = [
migrations.RunPython(migrate_external_users, reverse_migrate_external_users),
]