refactor stage 1

This commit is contained in:
alorig
2025-11-19 19:33:26 +05:00
parent 142077ce85
commit 8b7ed02759
11 changed files with 994 additions and 0 deletions

View File

@@ -0,0 +1,121 @@
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('site_building', '0003_workflow_and_taxonomies'),
('planner', '0008_stage1_site_builder_fields'),
('writer', '0011_add_universal_content_types'),
]
operations = [
migrations.CreateModel(
name='ContentClusterMap',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('role', models.CharField(choices=[('hub', 'Hub Page'), ('supporting', 'Supporting Page'), ('attribute', 'Attribute Page')], default='hub', max_length=50)),
('source', models.CharField(choices=[('blueprint', 'Blueprint'), ('manual', 'Manual'), ('import', 'Import')], default='blueprint', max_length=50)),
('metadata', models.JSONField(blank=True, default=dict)),
('account', models.ForeignKey(db_column='tenant_id', on_delete=django.db.models.deletion.CASCADE, related_name='contentclustermap_set', to='igny8_core_auth.account')),
('cluster', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='content_mappings', to='planner.clusters')),
('content', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cluster_mappings', to='writer.content')),
('sector', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contentclustermap_set', to='igny8_core_auth.sector')),
('site', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contentclustermap_set', to='igny8_core_auth.site')),
('task', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cluster_mappings', to='writer.tasks')),
],
options={
'verbose_name': 'Content Cluster Map',
'verbose_name_plural': 'Content Cluster Maps',
'db_table': 'igny8_content_cluster_map',
'ordering': ['-created_at'],
'unique_together': {('content', 'cluster', 'role')},
},
),
migrations.CreateModel(
name='ContentTaxonomyMap',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('source', models.CharField(choices=[('blueprint', 'Blueprint'), ('manual', 'Manual'), ('import', 'Import')], default='blueprint', max_length=50)),
('metadata', models.JSONField(blank=True, default=dict)),
('account', models.ForeignKey(db_column='tenant_id', on_delete=django.db.models.deletion.CASCADE, related_name='contenttaxonomymap_set', to='igny8_core_auth.account')),
('content', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='taxonomy_mappings', to='writer.content')),
('sector', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contenttaxonomymap_set', to='igny8_core_auth.sector')),
('site', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contenttaxonomymap_set', to='igny8_core_auth.site')),
('taxonomy', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='content_mappings', to='site_building.siteblueprinttaxonomy')),
('task', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='taxonomy_mappings', to='writer.tasks')),
],
options={
'verbose_name': 'Content Taxonomy Map',
'verbose_name_plural': 'Content Taxonomy Maps',
'db_table': 'igny8_content_taxonomy_map',
'ordering': ['-created_at'],
'unique_together': {('content', 'taxonomy')},
},
),
migrations.CreateModel(
name='ContentAttributeMap',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
('updated_at', models.DateTimeField(auto_now=True)),
('name', models.CharField(max_length=120)),
('value', models.CharField(blank=True, max_length=255, null=True)),
('source', models.CharField(choices=[('blueprint', 'Blueprint'), ('manual', 'Manual'), ('import', 'Import')], default='blueprint', max_length=50)),
('metadata', models.JSONField(blank=True, default=dict)),
('account', models.ForeignKey(db_column='tenant_id', on_delete=django.db.models.deletion.CASCADE, related_name='contentattributemap_set', to='igny8_core_auth.account')),
('content', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='attribute_mappings', to='writer.content')),
('sector', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contentattributemap_set', to='igny8_core_auth.sector')),
('site', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contentattributemap_set', to='igny8_core_auth.site')),
('task', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='attribute_mappings', to='writer.tasks')),
],
options={
'verbose_name': 'Content Attribute Map',
'verbose_name_plural': 'Content Attribute Maps',
'db_table': 'igny8_content_attribute_map',
'ordering': ['-created_at'],
},
),
migrations.AddIndex(
model_name='contentclustermap',
index=models.Index(fields=['cluster', 'role'], name='writer_con_cluster__d06bd6_idx'),
),
migrations.AddIndex(
model_name='contentclustermap',
index=models.Index(fields=['content', 'role'], name='writer_con_content__bb02dd_idx'),
),
migrations.AddIndex(
model_name='contentclustermap',
index=models.Index(fields=['task', 'role'], name='writer_con_task__role_828ce1_idx'),
),
migrations.AddIndex(
model_name='contenttaxonomymap',
index=models.Index(fields=['taxonomy'], name='writer_con_taxonomy_d55410_idx'),
),
migrations.AddIndex(
model_name='contenttaxonomymap',
index=models.Index(fields=['content', 'taxonomy'], name='writer_con_content__0af6a6_idx'),
),
migrations.AddIndex(
model_name='contenttaxonomymap',
index=models.Index(fields=['task', 'taxonomy'], name='writer_con_task__taxon_e3bdad_idx'),
),
migrations.AddIndex(
model_name='contentattributemap',
index=models.Index(fields=['name'], name='writer_con_name_a9671a_idx'),
),
migrations.AddIndex(
model_name='contentattributemap',
index=models.Index(fields=['content', 'name'], name='writer_con_content__34a91e_idx'),
),
migrations.AddIndex(
model_name='contentattributemap',
index=models.Index(fields=['task', 'name'], name='writer_con_task__name_fa4a4e_idx'),
),
]