# Generated by Django 2.2.4 on 2022-07-01 07:30

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import jsonfield.fields


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Boilerplate',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('title', models.CharField(max_length=300, unique=True)),
                ('has_prefix', models.BooleanField(default=False)),
                ('has_main', models.BooleanField(default=False)),
                ('has_suffix', models.BooleanField(default=False)),
            ],
            options={
                'ordering': ['created'],
            },
        ),
        migrations.CreateModel(
            name='BoilerplateGroup',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ontology_file', models.CharField(blank=True, max_length=100)),
                ('title_bgroup', models.CharField(max_length=100, unique=True)),
                ('description', models.CharField(max_length=500)),
                ('boilerplate_owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='boilerplate_group_owner', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Suffix',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('s_choices', models.CharField(blank=True, max_length=100)),
                ('numerical', models.CharField(blank=True, max_length=10, null=True)),
                ('mumerical_units', models.CharField(blank=True, max_length=100)),
                ('flow', models.CharField(blank=True, max_length=100)),
                ('suffix_choices', models.CharField(blank=True, choices=[('', ''), ('S1', 'S1: <numerical-affirmative> j <closed-interval> [per <time-unit>]'), ('S2', 'S2: after/before flow'), ('S3', 'S3: [every/for a period of/within/for at least] <number> <time-unit> [from flow]'), ('S4', 'S4: at the beginning/at the end'), ('S5', 'S5: at even intervals'), ('S6', 'S6: sequentially')], max_length=100)),
                ('custom_suffix', jsonfield.fields.JSONField(default=dict)),
                ('boilerplate_of_suffix', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='suffix_boilerplate', to='reqtool.Boilerplate')),
                ('suffix_owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='suffix_owner', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['boilerplate_of_suffix'],
            },
        ),
        migrations.CreateModel(
            name='PrefixGroup',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('boilerplate', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='prefixgroup', to='reqtool.Boilerplate')),
                ('prefix_owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='prefix_group_owner', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Prefix',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('prefix', models.CharField(max_length=1000)),
                ('system_fun_item', models.CharField(max_length=1000)),
                ('state_or_verb', models.CharField(max_length=1000)),
                ('prefix_quantifier', models.CharField(blank=True, max_length=1000)),
                ('prefix_numerical', models.CharField(blank=True, max_length=1000, null=True)),
                ('prefix_mumerical_units', models.CharField(blank=True, max_length=1000)),
                ('item_function_flow_statevalue', models.CharField(max_length=1000)),
                ('logical_expression', models.CharField(blank=True, max_length=1000)),
                ('logic_connective', models.CharField(blank=True, max_length=1000)),
                ('simple_prefix', models.CharField(blank=True, max_length=1000)),
                ('prefix_boilerplate', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='prefix_boilerplate', to='reqtool.Boilerplate')),
                ('prefixgroup', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='prefix', to='reqtool.PrefixGroup')),
            ],
            options={
                'ordering': ['prefix_boilerplate'],
            },
        ),
        migrations.CreateModel(
            name='Main',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sys_fun_inter', models.CharField(max_length=1000)),
                ('state_item_before_verb', models.CharField(blank=True, max_length=1000)),
                ('statevalue_before_verb', models.CharField(blank=True, max_length=1000)),
                ('shall', models.CharField(max_length=1000)),
                ('verb', models.CharField(max_length=1000)),
                ('quantifier', models.CharField(blank=True, max_length=1000)),
                ('numerical', models.CharField(blank=True, max_length=1000, null=True)),
                ('mumerical_units', models.CharField(blank=True, max_length=1000)),
                ('flow_function_interface_item_system_state_stateset', models.CharField(max_length=1000)),
                ('statevalue_system_connection_stateset', models.CharField(blank=True, max_length=1000)),
                ('main_choices', models.CharField(blank=True, max_length=100)),
                ('boilerplate_of_main', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='main_boilerplate', to='reqtool.Boilerplate')),
                ('main_owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='main_owner', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['boilerplate_of_main'],
            },
        ),
        migrations.CreateModel(
            name='InferenceResults',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ontology_file', models.CharField(blank=True, max_length=1000)),
                ('inference_data', models.CharField(blank=True, default='', max_length=1000000)),
                ('infer_group_of_boilerplate', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='infer_owner_of_boilerplate', to='reqtool.BoilerplateGroup')),
                ('owner_infer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='owner_infer', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['owner_infer'],
            },
        ),
        migrations.CreateModel(
            name='BoilerplateGroupDictionary',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ontology_file_dic', models.CharField(blank=True, default='', max_length=1000)),
                ('Dictionary_Data', jsonfield.fields.JSONField(default=dict)),
                ('classes_instances_group_of_boilerplate_dic', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='classes_instances_owner_of_boilerplate_dic', to='reqtool.BoilerplateGroup')),
                ('classes_instances_owner_dic', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='classes_instances_owner_dic', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='BoilerplateGroupClassesInstances',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ontology_file', models.CharField(blank=True, default='', max_length=1000)),
                ('prefix_choices', jsonfield.fields.JSONField(default=dict)),
                ('prefix_logcon_choices', jsonfield.fields.JSONField(default=dict)),
                ('prefix_verb_choices', jsonfield.fields.JSONField(default=dict)),
                ('main_class_choices', jsonfield.fields.JSONField(default=dict)),
                ('system_choices', jsonfield.fields.JSONField(default=dict)),
                ('function_choices', jsonfield.fields.JSONField(default=dict)),
                ('quantifier_choices', jsonfield.fields.JSONField(default=dict)),
                ('item_choices', jsonfield.fields.JSONField(default=dict)),
                ('inteface_choices', jsonfield.fields.JSONField(default=dict)),
                ('connection_choices', jsonfield.fields.JSONField(default=dict)),
                ('flow_choices', jsonfield.fields.JSONField(default=dict)),
                ('state_choices', jsonfield.fields.JSONField(default=dict)),
                ('state_set_choices', jsonfield.fields.JSONField(default=dict)),
                ('state_value_choices', jsonfield.fields.JSONField(default=dict)),
                ('main_verb_choices', jsonfield.fields.JSONField(default=dict)),
                ('numerical_affirmative_choices', jsonfield.fields.JSONField(default=dict)),
                ('number_unit_choices', jsonfield.fields.JSONField(default=dict)),
                ('suffix_choices', jsonfield.fields.JSONField(default=dict)),
                ('classes_instances_group_of_boilerplate', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='classes_instances_owner_of_boilerplate', to='reqtool.BoilerplateGroup')),
                ('classes_instances_owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='classes_instances_owner', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='BoilerplateData',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title_data', models.CharField(default='', max_length=30, unique=True)),
                ('prefix_data', models.CharField(blank=True, default='', max_length=100)),
                ('main_data', models.CharField(blank=True, default='', max_length=100)),
                ('suffix_data', models.CharField(blank=True, max_length=100)),
                ('boilerplate_data_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='boilerplate_data_id', to='reqtool.Boilerplate')),
                ('group_of_boilerplate_data', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='group_of_boilerplate_data', to='reqtool.BoilerplateGroup')),
                ('owner_data', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='boilerplate_data', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'ordering': ['boilerplate_data_id'],
            },
        ),
        migrations.AddField(
            model_name='boilerplate',
            name='group_of_boilerplate',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='owner_of_boilerplate', to='reqtool.BoilerplateGroup'),
        ),
        migrations.AddField(
            model_name='boilerplate',
            name='owner',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='boilerplate', to=settings.AUTH_USER_MODEL),
        ),
    ]
