parent
e397a37b05
commit
68a926b605
@ -0,0 +1,45 @@ |
||||
# Generated by Django 5.1 on 2025-04-03 12:29 |
||||
|
||||
from django.db import migrations |
||||
from ..utils.licence_validator import LicenseValidator |
||||
|
||||
def clean_license_ids(apps, schema_editor): |
||||
# Get the historical model |
||||
CustomUser = apps.get_model('tournaments', 'CustomUser') |
||||
|
||||
# Query all users |
||||
users = CustomUser.objects.all() |
||||
|
||||
for user in users: |
||||
if user.licence_id: |
||||
# Clean up logic - examples: |
||||
# 1. Strip whitespace |
||||
cleaned_id = user.licence_id.strip() |
||||
cleaned_id = cleaned_id.replace(' ', '').strip().upper() |
||||
last_char = cleaned_id[-1] if cleaned_id else '' |
||||
ends_with_non_alpha = not last_char.isalpha() |
||||
if ends_with_non_alpha: |
||||
key = LicenseValidator.get_computed_license_key(cleaned_id) |
||||
if key: |
||||
cleaned_id += key.upper() |
||||
|
||||
|
||||
# Save the cleaned value |
||||
if cleaned_id != user.licence_id: |
||||
user.licence_id = cleaned_id |
||||
user.save() |
||||
|
||||
def reverse_migration(apps, schema_editor): |
||||
# Reversing this migration isn't generally needed for data cleanup |
||||
pass |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('tournaments', '0114_purchase_creation_date_purchase_last_update_and_more'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.RunPython(clean_license_ids, reverse_migration), |
||||
] |
||||
Loading…
Reference in new issue