chore: squash migrations to reduce amount

ref: #740
This commit is contained in:
2025-05-16 19:29:02 +09:30
parent 1f9491ce73
commit a0ab0deb2a
14 changed files with 125 additions and 262 deletions

View File

@ -7,12 +7,11 @@ class Migration(migrations.Migration):
dependencies = [
('access', '0005_entity_person_entityhistory_entitynotes_role_and_more'),
('accounting', '0003_assetbasenotes'),
('assistance', '0005_knowledgebasecategoryhistory_knowledgebasehistory'),
('config_management', '0007_configgroupshistory_configgrouphostshistory_and_more'),
('core', '0025_ticketcommentaction'),
('core', '0022_ticketcommentbase_ticketbase_ticketcommentsolution_and_more'),
('devops', '0011_alter_gitgroup_unique_together_and_more'),
('itam', '0011_itamassetbase'),
('itam', '0010_alter_software_organization'),
('itim', '0009_slmticket_requestticket'),
('project_management', '0005_projecthistory_projectmilestonehistory_and_more'),
('settings', '0011_appsettingshistory_externallinkhistory'),

View File

@ -1,4 +1,4 @@
# Generated by Django 5.1.9 on 2025-05-15 07:47
# Generated by Django 5.1.9 on 2025-05-16 09:58
import django.db.models.deletion
from django.db import migrations, models
@ -25,4 +25,19 @@ class Migration(migrations.Migration):
},
bases=('access.entity',),
),
migrations.AlterField(
model_name='entity',
name='entity_type',
field=models.CharField(help_text='Type this entity is', max_length=30, verbose_name='Entity Type'),
),
migrations.AlterField(
model_name='person',
name='dob',
field=models.DateField(blank=True, help_text='The Persons Date of Birth (DOB)', null=True, verbose_name='DOB'),
),
migrations.AlterField(
model_name='person',
name='m_name',
field=models.CharField(blank=True, help_text='The persons middle name(s)', max_length=100, null=True, verbose_name='Middle Name(s)'),
),
]

View File

@ -1,28 +0,0 @@
# Generated by Django 5.1.9 on 2025-05-15 12:46
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('access', '0010_company'),
]
operations = [
migrations.AlterField(
model_name='entity',
name='entity_type',
field=models.CharField(help_text='Type this entity is', max_length=30, verbose_name='Entity Type'),
),
migrations.AlterField(
model_name='person',
name='dob',
field=models.DateField(blank=True, help_text='The Persons Date of Birth (DOB)', null=True, verbose_name='DOB'),
),
migrations.AlterField(
model_name='person',
name='m_name',
field=models.CharField(blank=True, help_text='The persons middle name(s)', max_length=100, null=True, verbose_name='Middle Name(s)'),
),
]

View File

@ -1,4 +1,4 @@
# Generated by Django 5.1.8 on 2025-05-04 12:42
# Generated by Django 5.1.9 on 2025-05-16 09:58
import access.fields
import access.models.tenancy
@ -13,7 +13,8 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
('access', '0005_entity_person_entityhistory_entitynotes_role_and_more'),
('access', '0010_company_alter_entity_entity_type_alter_person_dob_and_more'),
('core', '0023_ticketcommentaction_alter_manufacturer_organization_and_more'),
]
operations = [
@ -27,7 +28,7 @@ class Migration(migrations.Migration):
('asset_type', models.CharField(blank=True, choices=accounting.models.asset_base.AssetBase.get_model_type_choices, default='asset', help_text='Asset Type. (derived from asset model)', max_length=30, validators=[accounting.models.asset_base.AssetBase.validate_not_null], verbose_name='Asset Type')),
('created', access.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, help_text='Date and time of creation', verbose_name='Created')),
('modified', access.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, help_text='Date and time of last modification', verbose_name='Modified')),
('organization', models.ForeignKey(help_text='Organization this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.organization', validators=[access.models.tenancy.TenancyObject.validatate_organization_exists], verbose_name='Organization')),
('organization', models.ForeignKey(help_text='Tenancy this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.tenant', validators=[access.models.tenancy.TenancyObject.validatate_organization_exists], verbose_name='Tenant')),
],
options={
'verbose_name': 'Asset',
@ -36,4 +37,32 @@ class Migration(migrations.Migration):
'sub_model_type': 'asset',
},
),
migrations.CreateModel(
name='AssetBaseHistory',
fields=[
('modelhistory_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelhistory')),
('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='history', to='accounting.assetbase', verbose_name='Model')),
],
options={
'verbose_name': 'Asset History',
'verbose_name_plural': 'Asset History',
'db_table': 'accounting_assetbase_history',
'ordering': ['-created'],
},
bases=('core.modelhistory',),
),
migrations.CreateModel(
name='AssetBaseNotes',
fields=[
('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')),
('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='accounting.assetbase', verbose_name='Model')),
],
options={
'verbose_name': 'Asset Note',
'verbose_name_plural': 'Asset Notes',
'db_table': 'accounting_assetbase_notes',
'ordering': ['-created'],
},
bases=('core.modelnotes',),
),
]

View File

@ -1,29 +0,0 @@
# Generated by Django 5.1.8 on 2025-05-05 06:29
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('accounting', '0001_initial'),
('core', '0022_ticketcommentbase_ticketbase_ticketcommentsolution_and_more'),
]
operations = [
migrations.CreateModel(
name='AssetBaseHistory',
fields=[
('modelhistory_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelhistory')),
('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='history', to='accounting.assetbase', verbose_name='Model')),
],
options={
'verbose_name': 'Asset History',
'verbose_name_plural': 'Asset History',
'db_table': 'accounting_assetbase_history',
'ordering': ['-created'],
},
bases=('core.modelhistory',),
),
]

View File

@ -1,29 +0,0 @@
# Generated by Django 5.1.8 on 2025-05-05 06:41
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('accounting', '0002_assetbasehistory'),
('core', '0022_ticketcommentbase_ticketbase_ticketcommentsolution_and_more'),
]
operations = [
migrations.CreateModel(
name='AssetBaseNotes',
fields=[
('modelnotes_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.modelnotes')),
('model', models.ForeignKey(help_text='Model this note belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='accounting.assetbase', verbose_name='Model')),
],
options={
'verbose_name': 'Asset Note',
'verbose_name_plural': 'Asset Notes',
'db_table': 'accounting_assetbase_notes',
'ordering': ['-created'],
},
bases=('core.modelnotes',),
),
]

View File

@ -1,21 +0,0 @@
# Generated by Django 5.1.9 on 2025-05-14 13:48
import access.models.tenancy
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('access', '0008_alter_tenant_options_alter_entity_organization_and_more'),
('accounting', '0003_assetbasenotes'),
]
operations = [
migrations.AlterField(
model_name='assetbase',
name='organization',
field=models.ForeignKey(help_text='Tenancy this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.tenant', validators=[access.models.tenancy.TenancyObject.validatate_organization_exists], verbose_name='Tenant'),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 5.1.8 on 2025-05-05 16:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('core', '0022_ticketcommentbase_ticketbase_ticketcommentsolution_and_more'),
]
operations = [
migrations.AlterField(
model_name='ticketlinkeditem',
name='item_type',
field=models.IntegerField(choices=[(1, 'Cluster'), (2, 'Config Group'), (3, 'Device'), (4, 'Operating System'), (5, 'Service'), (6, 'Software'), (7, 'Knowledge Base'), (8, 'Organization'), (9, 'Team'), (10, 'Feature Flag'), (11, 'Software Version'), (12, 'Ticket Category'), (13, 'Ticket Comment Category'), (14, 'Project State'), (15, 'Git Repository'), (16, 'Entity'), (17, 'Role'), (18, 'Asset'), (19, 'IT Asset')], help_text='Python Model location for linked item', verbose_name='Item Type'),
),
]

View File

@ -1,18 +1,35 @@
# Generated by Django 5.1.9 on 2025-05-14 13:48
# Generated by Django 5.1.9 on 2025-05-16 09:58
import access.models.tenancy
import core.models.ticket_comment_base
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('access', '0008_alter_tenant_options_alter_entity_organization_and_more'),
('core', '0025_ticketcommentaction'),
('access', '0010_company_alter_entity_entity_type_alter_person_dob_and_more'),
('core', '0022_ticketcommentbase_ticketbase_ticketcommentsolution_and_more'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='TicketCommentAction',
fields=[
('ticketcommentbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.ticketcommentbase')),
],
options={
'verbose_name': 'Ticket Comment Action',
'verbose_name_plural': 'Ticket Comment Actions',
'ordering': ['id'],
'permissions': [('import_ticketcommentaction', 'Can import ticket action comment.')],
'sub_model_type': 'action',
},
bases=('core.ticketcommentbase',),
),
migrations.AlterField(
model_name='manufacturer',
name='organization',
@ -43,6 +60,11 @@ class Migration(migrations.Migration):
name='organization',
field=models.ForeignKey(help_text='Tenancy this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.tenant', validators=[access.models.tenancy.TenancyObject.validatate_organization_exists], verbose_name='Tenant'),
),
migrations.AlterField(
model_name='ticketbase',
name='opened_by',
field=models.ForeignKey(blank=True, help_text='Who is the ticket for', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='ticket_opened', to=settings.AUTH_USER_MODEL, verbose_name='Opened By'),
),
migrations.AlterField(
model_name='ticketbase',
name='organization',
@ -58,16 +80,46 @@ class Migration(migrations.Migration):
name='organization',
field=models.ForeignKey(help_text='Tenancy this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.tenant', validators=[access.models.tenancy.TenancyObject.validatate_organization_exists], verbose_name='Tenant'),
),
migrations.AlterField(
model_name='ticketcommentbase',
name='category',
field=models.ForeignKey(blank=True, help_text='Category of the comment', null=True, on_delete=django.db.models.deletion.PROTECT, to='core.ticketcommentcategory', verbose_name='Category'),
),
migrations.AlterField(
model_name='ticketcommentbase',
name='comment_type',
field=models.CharField(choices=core.models.ticket_comment_base.TicketCommentBase.get_comment_type_choices, help_text='Type this comment is. derived from Meta.verbose_name', max_length=30, validators=[core.models.ticket_comment_base.TicketCommentBase.field_validation_not_empty], verbose_name='Type'),
),
migrations.AlterField(
model_name='ticketcommentbase',
name='external_ref',
field=models.IntegerField(blank=True, help_text='External System reference', null=True, verbose_name='Reference Number'),
),
migrations.AlterField(
model_name='ticketcommentbase',
name='external_system',
field=models.IntegerField(blank=True, choices=[(1, 'Github'), (2, 'Gitlab'), (9999, 'Custom #1 (Imported)'), (9998, 'Custom #2 (Imported)'), (9997, 'Custom #3 (Imported)'), (9996, 'Custom #4 (Imported)'), (9995, 'Custom #5 (Imported)'), (9994, 'Custom #6 (Imported)'), (9993, 'Custom #7 (Imported)'), (9992, 'Custom #8 (Imported)'), (9991, 'Custom #9 (Imported)')], help_text='External system this item derives', null=True, verbose_name='External System'),
),
migrations.AlterField(
model_name='ticketcommentbase',
name='organization',
field=models.ForeignKey(help_text='Tenancy this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.tenant', validators=[access.models.tenancy.TenancyObject.validatate_organization_exists], verbose_name='Tenant'),
),
migrations.AlterField(
model_name='ticketcommentbase',
name='parent',
field=models.ForeignKey(blank=True, help_text='Parent ID for creating discussion threads', null=True, on_delete=django.db.models.deletion.PROTECT, to='core.ticketcommentbase', verbose_name='Parent Comment'),
),
migrations.AlterField(
model_name='ticketcommentcategory',
name='organization',
field=models.ForeignKey(help_text='Tenancy this belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='+', to='access.tenant', validators=[access.models.tenancy.TenancyObject.validatate_organization_exists], verbose_name='Tenant'),
),
migrations.AlterField(
model_name='ticketlinkeditem',
name='item_type',
field=models.IntegerField(choices=[(1, 'Cluster'), (2, 'Config Group'), (3, 'Device'), (4, 'Operating System'), (5, 'Service'), (6, 'Software'), (7, 'Knowledge Base'), (8, 'Tenant'), (9, 'Team'), (10, 'Feature Flag'), (11, 'Software Version'), (12, 'Ticket Category'), (13, 'Ticket Comment Category'), (14, 'Project State'), (15, 'Git Repository'), (16, 'Entity'), (17, 'Role'), (18, 'Asset'), (19, 'IT Asset')], help_text='Python Model location for linked item', verbose_name='Item Type'),
),
migrations.AlterField(
model_name='ticketlinkeditem',
name='organization',

View File

@ -1,47 +0,0 @@
# Generated by Django 5.1.9 on 2025-05-11 16:49
import core.models.ticket_comment_base
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('core', '0023_alter_ticketlinkeditem_item_type'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.AlterField(
model_name='ticketbase',
name='opened_by',
field=models.ForeignKey(blank=True, help_text='Who is the ticket for', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='ticket_opened', to=settings.AUTH_USER_MODEL, verbose_name='Opened By'),
),
migrations.AlterField(
model_name='ticketcommentbase',
name='category',
field=models.ForeignKey(blank=True, help_text='Category of the comment', null=True, on_delete=django.db.models.deletion.PROTECT, to='core.ticketcommentcategory', verbose_name='Category'),
),
migrations.AlterField(
model_name='ticketcommentbase',
name='comment_type',
field=models.CharField(choices=core.models.ticket_comment_base.TicketCommentBase.get_comment_type_choices, help_text='Type this comment is. derived from Meta.verbose_name', max_length=30, validators=[core.models.ticket_comment_base.TicketCommentBase.field_validation_not_empty], verbose_name='Type'),
),
migrations.AlterField(
model_name='ticketcommentbase',
name='external_ref',
field=models.IntegerField(blank=True, help_text='External System reference', null=True, verbose_name='Reference Number'),
),
migrations.AlterField(
model_name='ticketcommentbase',
name='external_system',
field=models.IntegerField(blank=True, choices=[(1, 'Github'), (2, 'Gitlab'), (9999, 'Custom #1 (Imported)'), (9998, 'Custom #2 (Imported)'), (9997, 'Custom #3 (Imported)'), (9996, 'Custom #4 (Imported)'), (9995, 'Custom #5 (Imported)'), (9994, 'Custom #6 (Imported)'), (9993, 'Custom #7 (Imported)'), (9992, 'Custom #8 (Imported)'), (9991, 'Custom #9 (Imported)')], help_text='External system this item derives', null=True, verbose_name='External System'),
),
migrations.AlterField(
model_name='ticketcommentbase',
name='parent',
field=models.ForeignKey(blank=True, help_text='Parent ID for creating discussion threads', null=True, on_delete=django.db.models.deletion.PROTECT, to='core.ticketcommentbase', verbose_name='Parent Comment'),
),
]

View File

@ -1,28 +0,0 @@
# Generated by Django 5.1.9 on 2025-05-13 09:48
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('core', '0024_alter_ticketbase_opened_by_and_more'),
]
operations = [
migrations.CreateModel(
name='TicketCommentAction',
fields=[
('ticketcommentbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.ticketcommentbase')),
],
options={
'verbose_name': 'Ticket Comment Action',
'verbose_name_plural': 'Ticket Comment Actions',
'ordering': ['id'],
'permissions': [('import_ticketcommentaction', 'Can import ticket action comment.')],
'sub_model_type': 'action',
},
bases=('core.ticketcommentbase',),
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 5.1.9 on 2025-05-15 07:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('core', '0026_alter_manufacturer_organization_and_more'),
]
operations = [
migrations.AlterField(
model_name='ticketlinkeditem',
name='item_type',
field=models.IntegerField(choices=[(1, 'Cluster'), (2, 'Config Group'), (3, 'Device'), (4, 'Operating System'), (5, 'Service'), (6, 'Software'), (7, 'Knowledge Base'), (8, 'Tenant'), (9, 'Team'), (10, 'Feature Flag'), (11, 'Software Version'), (12, 'Ticket Category'), (13, 'Ticket Comment Category'), (14, 'Project State'), (15, 'Git Repository'), (16, 'Entity'), (17, 'Role'), (18, 'Asset'), (19, 'IT Asset')], help_text='Python Model location for linked item', verbose_name='Item Type'),
),
]

View File

@ -1,31 +0,0 @@
# Generated by Django 5.1.8 on 2025-05-04 13:58
import django.db.models.deletion
import itam.models.itam_asset_base
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('accounting', '0001_initial'),
('itam', '0010_alter_software_organization'),
]
operations = [
migrations.CreateModel(
name='ITAMAssetBase',
fields=[
('assetbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='accounting.assetbase')),
('itam_type', models.CharField(blank=True, choices=itam.models.itam_asset_base.ITAMAssetBase.get_itam_model_type_choices, default='itam_base', help_text='IT Asset Type. (derived from IT asset model)', max_length=30, verbose_name='IT Asset Type')),
],
options={
'verbose_name': 'IT Asset',
'verbose_name_plural': 'IT Assets',
'ordering': ['id'],
'sub_model_type': 'it_asset',
'itam_sub_model_type': 'itam_base',
},
bases=('accounting.assetbase',),
),
]

View File

@ -1,18 +1,35 @@
# Generated by Django 5.1.9 on 2025-05-14 13:48
# Generated by Django 5.1.9 on 2025-05-16 09:58
import access.models.tenancy
import django.db.models.deletion
import itam.models.itam_asset_base
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('access', '0008_alter_tenant_options_alter_entity_organization_and_more'),
('itam', '0011_itamassetbase'),
('access', '0010_company_alter_entity_entity_type_alter_person_dob_and_more'),
('accounting', '0001_initial'),
('itam', '0010_alter_software_organization'),
]
operations = [
migrations.CreateModel(
name='ITAMAssetBase',
fields=[
('assetbase_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='accounting.assetbase')),
('itam_type', models.CharField(blank=True, choices=itam.models.itam_asset_base.ITAMAssetBase.get_itam_model_type_choices, default='itam_base', help_text='IT Asset Type. (derived from IT asset model)', max_length=30, verbose_name='IT Asset Type')),
],
options={
'verbose_name': 'IT Asset',
'verbose_name_plural': 'IT Assets',
'ordering': ['id'],
'sub_model_type': 'it_asset',
'itam_sub_model_type': 'itam_base',
},
bases=('accounting.assetbase',),
),
migrations.AlterField(
model_name='device',
name='organization',