# Generated by Django 5.2.7 on 2025-10-04 04:39 import django.db.models.deletion from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='QuantStrategy', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, unique=True)), ('description', models.TextField(blank=True)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('is_active', models.BooleanField(default=True)), ], options={ 'verbose_name_plural': 'Quant Strategies', }, ), migrations.CreateModel( name='StrategyVersion', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('version', models.CharField(max_length=20)), ('code', models.TextField()), ('parameters', models.JSONField(blank=True, default=dict)), ('created_at', models.DateTimeField(auto_now_add=True)), ('is_current', models.BooleanField(default=False)), ('strategy', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='versions', to='strategies.quantstrategy')), ], options={ 'ordering': ['-created_at'], 'unique_together': {('strategy', 'version')}, }, ), migrations.CreateModel( name='StrategyExecution', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('execution_parameters', models.JSONField(blank=True, default=dict)), ('status', models.CharField(choices=[('pending', 'Pending'), ('running', 'Running'), ('completed', 'Completed'), ('failed', 'Failed')], default='pending', max_length=20)), ('started_at', models.DateTimeField(auto_now_add=True)), ('completed_at', models.DateTimeField(blank=True, null=True)), ('result', models.JSONField(blank=True, null=True)), ('error_message', models.TextField(blank=True)), ('strategy_version', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='strategies.strategyversion')), ], options={ 'ordering': ['-started_at'], }, ), ]