Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-27 07:41:44

0001 # Generated by Django 4.2.23 on 2026-02-28 00:23
0002 
0003 import django.core.validators
0004 from django.db import migrations, models
0005 import django.db.models.deletion
0006 
0007 
0008 class Migration(migrations.Migration):
0009 
0010     initial = True
0011 
0012     dependencies = [
0013     ]
0014 
0015     operations = [
0016         migrations.CreateModel(
0017             name='EvgenTag',
0018             fields=[
0019                 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
0020                 ('tag_number', models.IntegerField(unique=True)),
0021                 ('tag_label', models.CharField(max_length=10, unique=True)),
0022                 ('status', models.CharField(choices=[('draft', 'Draft'), ('locked', 'Locked')], default='draft', max_length=10)),
0023                 ('description', models.TextField(blank=True, default='')),
0024                 ('parameters', models.JSONField(default=dict)),
0025                 ('created_by', models.CharField(max_length=100)),
0026                 ('created_at', models.DateTimeField(auto_now_add=True)),
0027                 ('updated_at', models.DateTimeField(auto_now=True)),
0028             ],
0029             options={
0030                 'db_table': 'pcs_evgen_tag',
0031                 'ordering': ['tag_number'],
0032             },
0033         ),
0034         migrations.CreateModel(
0035             name='PhysicsCategory',
0036             fields=[
0037                 ('digit', models.PositiveSmallIntegerField(help_text='Single digit 1-9. Physics tag numbers = digit * 1000 + N.', primary_key=True, serialize=False, validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(9)])),
0038                 ('name', models.CharField(max_length=100, unique=True)),
0039                 ('description', models.TextField(blank=True, default='')),
0040                 ('created_by', models.CharField(max_length=100)),
0041                 ('created_at', models.DateTimeField(auto_now_add=True)),
0042             ],
0043             options={
0044                 'verbose_name_plural': 'physics categories',
0045                 'db_table': 'pcs_physics_category',
0046                 'ordering': ['digit'],
0047             },
0048         ),
0049         migrations.CreateModel(
0050             name='RecoTag',
0051             fields=[
0052                 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
0053                 ('tag_number', models.IntegerField(unique=True)),
0054                 ('tag_label', models.CharField(max_length=10, unique=True)),
0055                 ('status', models.CharField(choices=[('draft', 'Draft'), ('locked', 'Locked')], default='draft', max_length=10)),
0056                 ('description', models.TextField(blank=True, default='')),
0057                 ('parameters', models.JSONField(default=dict)),
0058                 ('created_by', models.CharField(max_length=100)),
0059                 ('created_at', models.DateTimeField(auto_now_add=True)),
0060                 ('updated_at', models.DateTimeField(auto_now=True)),
0061             ],
0062             options={
0063                 'db_table': 'pcs_reco_tag',
0064                 'ordering': ['tag_number'],
0065             },
0066         ),
0067         migrations.CreateModel(
0068             name='SimuTag',
0069             fields=[
0070                 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
0071                 ('tag_number', models.IntegerField(unique=True)),
0072                 ('tag_label', models.CharField(max_length=10, unique=True)),
0073                 ('status', models.CharField(choices=[('draft', 'Draft'), ('locked', 'Locked')], default='draft', max_length=10)),
0074                 ('description', models.TextField(blank=True, default='')),
0075                 ('parameters', models.JSONField(default=dict)),
0076                 ('created_by', models.CharField(max_length=100)),
0077                 ('created_at', models.DateTimeField(auto_now_add=True)),
0078                 ('updated_at', models.DateTimeField(auto_now=True)),
0079             ],
0080             options={
0081                 'db_table': 'pcs_simu_tag',
0082                 'ordering': ['tag_number'],
0083             },
0084         ),
0085         migrations.CreateModel(
0086             name='PhysicsTag',
0087             fields=[
0088                 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
0089                 ('tag_number', models.IntegerField(unique=True)),
0090                 ('tag_label', models.CharField(max_length=10, unique=True)),
0091                 ('status', models.CharField(choices=[('draft', 'Draft'), ('locked', 'Locked')], default='draft', max_length=10)),
0092                 ('description', models.TextField(blank=True, default='')),
0093                 ('parameters', models.JSONField(default=dict)),
0094                 ('created_by', models.CharField(max_length=100)),
0095                 ('created_at', models.DateTimeField(auto_now_add=True)),
0096                 ('updated_at', models.DateTimeField(auto_now=True)),
0097                 ('category', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='tags', to='pcs.physicscategory')),
0098             ],
0099             options={
0100                 'db_table': 'pcs_physics_tag',
0101                 'ordering': ['tag_number'],
0102             },
0103         ),
0104         migrations.CreateModel(
0105             name='Dataset',
0106             fields=[
0107                 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
0108                 ('dataset_name', models.CharField(max_length=255)),
0109                 ('scope', models.CharField(default='group.EIC', max_length=100)),
0110                 ('detector_version', models.CharField(max_length=50)),
0111                 ('detector_config', models.CharField(max_length=100)),
0112                 ('block_num', models.PositiveIntegerField(default=1)),
0113                 ('blocks', models.PositiveIntegerField(default=1)),
0114                 ('did', models.CharField(max_length=300, unique=True)),
0115                 ('file_count', models.IntegerField(default=0)),
0116                 ('data_size', models.BigIntegerField(default=0)),
0117                 ('description', models.TextField(blank=True, default='')),
0118                 ('metadata', models.JSONField(blank=True, null=True)),
0119                 ('created_by', models.CharField(max_length=100)),
0120                 ('created_at', models.DateTimeField(auto_now_add=True)),
0121                 ('evgen_tag', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='datasets', to='pcs.evgentag')),
0122                 ('physics_tag', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='datasets', to='pcs.physicstag')),
0123                 ('reco_tag', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='datasets', to='pcs.recotag')),
0124                 ('simu_tag', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='datasets', to='pcs.simutag')),
0125             ],
0126             options={
0127                 'db_table': 'pcs_dataset',
0128                 'ordering': ['-created_at'],
0129                 'unique_together': {('dataset_name', 'block_num')},
0130             },
0131         ),
0132     ]