| |
|
|
| import api.models |
| from django.conf import settings |
| from django.db import migrations, models |
| import django.db.models.deletion |
| import uuid |
|
|
|
|
| class Migration(migrations.Migration): |
|
|
| initial = True |
|
|
| dependencies = [ |
| migrations.swappable_dependency(settings.AUTH_USER_MODEL), |
| ] |
|
|
| operations = [ |
| migrations.CreateModel( |
| name='Project', |
| fields=[ |
| ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), |
| ('name', models.CharField(max_length=200, verbose_name='项目名称')), |
| ('description', models.TextField(blank=True, verbose_name='项目描述')), |
| ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
| ('last_modified', models.DateTimeField(auto_now=True, verbose_name='最后修改时间')), |
| ('status', models.CharField(choices=[('initialized', '已初始化'), ('data_loaded', '数据已加载'), ('preprocessing', '数据预处理中'), ('preprocessing_completed', '数据预处理完成'), ('analysis', '分析中'), ('completed', '已完成'), ('error', '出错')], default='initialized', max_length=50, verbose_name='项目状态')), |
| ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='projects', to=settings.AUTH_USER_MODEL)), |
| ], |
| options={ |
| 'verbose_name': '项目', |
| 'verbose_name_plural': '项目', |
| }, |
| ), |
| migrations.CreateModel( |
| name='PreprocessingTask', |
| fields=[ |
| ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
| ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
| ('completed_at', models.DateTimeField(blank=True, null=True, verbose_name='完成时间')), |
| ('parameters', models.JSONField(default=dict, verbose_name='参数')), |
| ('status', models.CharField(default='pending', max_length=50, verbose_name='状态')), |
| ('result', models.JSONField(blank=True, null=True, verbose_name='结果')), |
| ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='preprocessing_tasks', to='api.project')), |
| ], |
| options={ |
| 'verbose_name': '预处理任务', |
| 'verbose_name_plural': '预处理任务', |
| }, |
| ), |
| migrations.CreateModel( |
| name='ExportTask', |
| fields=[ |
| ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
| ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
| ('completed_at', models.DateTimeField(blank=True, null=True, verbose_name='完成时间')), |
| ('format', models.CharField(max_length=10, verbose_name='格式')), |
| ('components', models.JSONField(default=list, verbose_name='组件')), |
| ('status', models.CharField(default='pending', max_length=50, verbose_name='状态')), |
| ('file', models.FileField(blank=True, null=True, upload_to='exports/', verbose_name='导出文件')), |
| ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='export_tasks', to='api.project')), |
| ], |
| options={ |
| 'verbose_name': '导出任务', |
| 'verbose_name_plural': '导出任务', |
| }, |
| ), |
| migrations.CreateModel( |
| name='DataFile', |
| fields=[ |
| ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
| ('file', models.FileField(upload_to=api.models.get_file_path, verbose_name='文件')), |
| ('filename', models.CharField(max_length=255, verbose_name='文件名')), |
| ('uploaded_at', models.DateTimeField(auto_now_add=True, verbose_name='上传时间')), |
| ('wavenumber_min', models.FloatField(blank=True, null=True, verbose_name='最小波数')), |
| ('wavenumber_max', models.FloatField(blank=True, null=True, verbose_name='最大波数')), |
| ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='data_files', to='api.project')), |
| ], |
| options={ |
| 'verbose_name': '数据文件', |
| 'verbose_name_plural': '数据文件', |
| }, |
| ), |
| migrations.CreateModel( |
| name='AnalysisTask', |
| fields=[ |
| ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
| ('analysis_type', models.CharField(choices=[('meta_free', '无元数据分析'), ('meta_based', '基于元数据分析')], max_length=20, verbose_name='分析类型')), |
| ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), |
| ('completed_at', models.DateTimeField(blank=True, null=True, verbose_name='完成时间')), |
| ('parameters', models.JSONField(default=dict, verbose_name='参数')), |
| ('status', models.CharField(default='pending', max_length=50, verbose_name='状态')), |
| ('result', models.JSONField(blank=True, null=True, verbose_name='结果')), |
| ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='analysis_tasks', to='api.project')), |
| ], |
| options={ |
| 'verbose_name': '分析任务', |
| 'verbose_name_plural': '分析任务', |
| }, |
| ), |
| ] |
|
|