mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 10:00:01 -03:30
combine launch config and multi-cred migrations
This commit is contained in:
parent
5ada021a6e
commit
98df442ced
@ -6,7 +6,7 @@ import django.db.models.deletion
|
||||
import awx.main.fields
|
||||
|
||||
from awx.main.migrations import _migration_utils as migration_utils
|
||||
from awx.main.migrations._workflow_credential import migrate_workflow_cred
|
||||
from awx.main.migrations._multi_cred import migrate_workflow_cred, migrate_workflow_cred_reverse
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
@ -67,8 +67,8 @@ class Migration(migrations.Migration):
|
||||
field=awx.main.fields.JSONField(default={}, editable=False, blank=True),
|
||||
),
|
||||
# Run data migration before removing the old credential field
|
||||
migrations.RunPython(migration_utils.set_current_apps_for_migrations, lambda x, y: None),
|
||||
migrations.RunPython(migrate_workflow_cred, lambda x, y: None),
|
||||
migrations.RunPython(migration_utils.set_current_apps_for_migrations, migrations.RunPython.noop),
|
||||
migrations.RunPython(migrate_workflow_cred, migrate_workflow_cred_reverse),
|
||||
migrations.RemoveField(
|
||||
model_name='workflowjobnode',
|
||||
name='credential',
|
||||
|
||||
@ -10,3 +10,25 @@ def migrate_to_multi_cred(app, schema_editor):
|
||||
j.credentials.add(j.vault_credential)
|
||||
for cred in j.extra_credentials.all():
|
||||
j.credentials.add(cred)
|
||||
|
||||
|
||||
def migrate_workflow_cred(app, schema_editor):
|
||||
WorkflowJobTemplateNode = app.get_model('main', 'WorkflowJobTemplateNode')
|
||||
WorkflowJobNode = app.get_model('main', 'WorkflowJobNode')
|
||||
|
||||
for cls in (WorkflowJobNode, WorkflowJobTemplateNode):
|
||||
for node in cls.objects.iterator():
|
||||
if node.credential:
|
||||
node.credentials.add(j.credential)
|
||||
|
||||
|
||||
def migrate_workflow_cred_reverse(app, schema_editor):
|
||||
WorkflowJobTemplateNode = app.get_model('main', 'WorkflowJobTemplateNode')
|
||||
WorkflowJobNode = app.get_model('main', 'WorkflowJobNode')
|
||||
|
||||
for cls in (WorkflowJobNode, WorkflowJobTemplateNode):
|
||||
for node in cls.objects.iterator():
|
||||
cred = node.credentials.first()
|
||||
if cred:
|
||||
node.credential = cred
|
||||
node.save()
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
def migrate_workflow_cred(app, schema_editor):
|
||||
WorkflowJobTemplateNode = app.get_model('main', 'WorkflowJobTemplateNode')
|
||||
WorkflowJobNode = app.get_model('main', 'WorkflowJobNode')
|
||||
|
||||
for cls in (WorkflowJobNode, WorkflowJobTemplateNode):
|
||||
for j in cls.objects.iterator():
|
||||
if j.credential:
|
||||
j.credentials.add(j.credential)
|
||||
Loading…
x
Reference in New Issue
Block a user