# Generated by Django 5.2.16 on 2026-08-15 05:46 import django.db.models.deletion import uuid from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ('projects', '0001_initial'), ] operations = [ migrations.CreateModel( name='KnowledgeNode', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('node_type', models.CharField(max_length=80)), ('external_id', models.CharField(max_length=500)), ('title', models.CharField(blank=True, max_length=500)), ('properties', models.JSONField(blank=True, default=dict)), ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='knowledge_nodes', to='projects.project')), ], ), migrations.CreateModel( name='KnowledgeEdge', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('edge_type', models.CharField(max_length=80)), ('evidence', models.JSONField(blank=True, default=list)), ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='knowledge_edges', to='projects.project')), ('source', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='outgoing_edges', to='knowledge.knowledgenode')), ('target', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='incoming_edges', to='knowledge.knowledgenode')), ], ), migrations.AddConstraint( model_name='knowledgenode', constraint=models.UniqueConstraint(fields=('project', 'node_type', 'external_id'), name='unique_knowledge_node'), ), migrations.AddConstraint( model_name='knowledgeedge', constraint=models.UniqueConstraint(fields=('source', 'target', 'edge_type'), name='unique_knowledge_edge'), ), ]