.
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
from django.db import migrations
|
||||
import uuid
|
||||
|
||||
|
||||
def generate_tokens(apps, schema_editor):
|
||||
Worker = apps.get_model('rota', 'Worker')
|
||||
db_alias = schema_editor.connection.alias
|
||||
for w in Worker.objects.using(db_alias).all():
|
||||
if not getattr(w, 'request_token', None):
|
||||
new_token = uuid.uuid4()
|
||||
# extremely unlikely collision, but guard anyway
|
||||
while Worker.objects.using(db_alias).filter(request_token=new_token).exists():
|
||||
new_token = uuid.uuid4()
|
||||
w.request_token = new_token
|
||||
w.save(update_fields=['request_token'])
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('rota', '0005_add_request_token'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(generate_tokens, reverse_code=migrations.RunPython.noop),
|
||||
]
|
||||
Reference in New Issue
Block a user