mirror of
https://github.com/netbox-community/netbox.git
synced 2025-12-11 19:09:36 -06:00
Some checks failed
CI / build (20.x, 3.10) (push) Waiting to run
CI / build (20.x, 3.11) (push) Waiting to run
CI / build (20.x, 3.12) (push) Waiting to run
CodeQL / Analyze (${{ matrix.language }}) (none, actions) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, python) (push) Has been cancelled
49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
# Generated by Django 5.2.5 on 2025-09-09 16:48
|
|
|
|
from django.db import migrations, models
|
|
|
|
|
|
def get_active(apps, schema_editor):
|
|
from django.core.cache import cache
|
|
ConfigRevision = apps.get_model('core', 'ConfigRevision')
|
|
version = None
|
|
revision = None
|
|
|
|
# Try and get the latest version from cache
|
|
try:
|
|
version = cache.get('config_version')
|
|
except Exception:
|
|
pass
|
|
|
|
# If there is a version in cache, attempt to set revision to the current version from cache
|
|
# If the version in cache does not exist or there is no version, try the lastest revision in the database
|
|
if not version or (version and not (revision := ConfigRevision.objects.filter(pk=version).first())):
|
|
revision = ConfigRevision.objects.order_by('-created').first()
|
|
|
|
# If there is a revision set, set the active revision
|
|
if revision:
|
|
revision.active = True
|
|
revision.save()
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('core', '0018_concrete_objecttype'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AddField(
|
|
model_name='configrevision',
|
|
name='active',
|
|
field=models.BooleanField(default=False),
|
|
),
|
|
migrations.RunPython(code=get_active, reverse_code=migrations.RunPython.noop),
|
|
migrations.AddConstraint(
|
|
model_name='configrevision',
|
|
constraint=models.UniqueConstraint(
|
|
condition=models.Q(('active', True)), fields=('active',), name='unique_active_config_revision'
|
|
),
|
|
),
|
|
]
|