# Generated by Django 4.1.7 on 2023-08-03 10:31

import django.core.validators
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('contenttypes', '0002_remove_content_type_name'),
    ]

    operations = [
        migrations.CreateModel(
            name='Action',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(default='random Action', max_length=20)),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
        ),
        migrations.CreateModel(
            name='AttributeSet',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('experience', models.IntegerField(default=10)),
                ('reliability', models.IntegerField(default=10)),
                ('python', models.IntegerField(default=10)),
                ('javascript', models.IntegerField(default=10)),
                ('cpp', models.IntegerField(default=10)),
                ('management', models.IntegerField(default=10)),
            ],
        ),
        migrations.CreateModel(
            name='Company',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(default='A company', max_length=20)),
                ('user', models.CharField(default='default User', max_length=20)),
                ('customersatisfaction', models.IntegerField(default=100, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100)])),
                ('workersatisfaction', models.IntegerField(default=100, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100)])),
                ('money', models.IntegerField(default=100000)),
                ('actions', models.ManyToManyField(blank=True, to='mygame.action')),
            ],
        ),
        migrations.CreateModel(
            name='EngineeringModel',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(default='random EngineeringModel', max_length=30)),
                ('description', models.CharField(default='random description', max_length=200)),
                ('pros', models.CharField(default='random pro', max_length=100)),
                ('cons', models.CharField(default='random con', max_length=100)),
                ('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_%(app_label)s.%(class)s_set+', to='contenttypes.contenttype')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
        ),
        migrations.CreateModel(
            name='Event',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(default='random Event', max_length=40)),
                ('description', models.CharField(default='Event description here', max_length=200)),
                ('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_%(app_label)s.%(class)s_set+', to='contenttypes.contenttype')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
        ),
        migrations.CreateModel(
            name='Offer',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount', models.IntegerField(default=0)),
                ('company', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='mygame.company')),
            ],
        ),
        migrations.CreateModel(
            name='OrderNames',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(default='no name', max_length=20)),
            ],
        ),
        migrations.CreateModel(
            name='Timer',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('timer', models.IntegerField(default=60)),
                ('remainingtimer', models.IntegerField(default=60)),
                ('running', models.BooleanField(default=False)),
            ],
        ),
        migrations.CreateModel(
            name='WorkerNames',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(default='no name', max_length=20)),
            ],
        ),
        migrations.CreateModel(
            name='ModelChaotic',
            fields=[
                ('engineeringmodel_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.engineeringmodel')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.engineeringmodel',),
        ),
        migrations.CreateModel(
            name='ModelScrum',
            fields=[
                ('engineeringmodel_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.engineeringmodel')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.engineeringmodel',),
        ),
        migrations.CreateModel(
            name='ModelSpiral',
            fields=[
                ('engineeringmodel_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.engineeringmodel')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.engineeringmodel',),
        ),
        migrations.CreateModel(
            name='ModelV',
            fields=[
                ('engineeringmodel_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.engineeringmodel')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.engineeringmodel',),
        ),
        migrations.CreateModel(
            name='ModelWaterfall',
            fields=[
                ('engineeringmodel_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.engineeringmodel')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.engineeringmodel',),
        ),
        migrations.CreateModel(
            name='SpecialOrder',
            fields=[
                ('event_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.event')),
                ('occuranceProbability', models.IntegerField(default=100, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100)])),
                ('occured', models.BooleanField(default=False)),
                ('hint', models.CharField(default='no hint', max_length=100)),
                ('validModels', models.ManyToManyField(blank=True, to='mygame.engineeringmodel')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.event',),
        ),
        migrations.CreateModel(
            name='Worker',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(default='random worker', max_length=20)),
                ('amplifyer', models.FloatField(default=1, validators=[django.core.validators.MinValueValidator(1.0), django.core.validators.MaxValueValidator(2.0)])),
                ('salary', models.IntegerField(default=1000)),
                ('status', models.IntegerField(default=0, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(3)])),
                ('lockedRounds', models.IntegerField(default=0, validators=[django.core.validators.MinValueValidator(0)])),
                ('happyness', models.IntegerField(default=100, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(100)])),
                ('sick', models.BooleanField(default=False)),
                ('attributes', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='mygame.attributeset')),
                ('skilledModels', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='mygame.engineeringmodel')),
            ],
        ),
        migrations.CreateModel(
            name='Order',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(default='random order', max_length=20)),
                ('profit', models.IntegerField(default=1000)),
                ('status', models.IntegerField(default=0, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)])),
                ('maxRounds', models.IntegerField(default=5, validators=[django.core.validators.MinValueValidator(5), django.core.validators.MaxValueValidator(100)])),
                ('recalculated', models.BooleanField(default=False)),
                ('assignedWorkers', models.ManyToManyField(blank=True, to='mygame.worker')),
                ('engineeringModel', models.ForeignKey(blank=True, default=1, on_delete=django.db.models.deletion.DO_NOTHING, to='mygame.engineeringmodel')),
                ('offers', models.ManyToManyField(blank=True, related_name='order_offers', to='mygame.offer')),
                ('requiredWorkload', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='mygame.attributeset')),
                ('specialorder', models.ForeignKey(blank=True, default=1, on_delete=django.db.models.deletion.CASCADE, to='mygame.specialorder')),
            ],
        ),
        migrations.AddField(
            model_name='offer',
            name='order',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='mygame.order'),
        ),
        migrations.CreateModel(
            name='Game',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(default='Game', max_length=20)),
                ('gamemaster', models.CharField(max_length=20)),
                ('maxRounds', models.IntegerField(default=10)),
                ('currentRound', models.IntegerField(default=1)),
                ('ordermarketsize', models.IntegerField(default=5)),
                ('acceptedOffers', models.ManyToManyField(blank=True, to='mygame.offer')),
                ('actionpool', models.ManyToManyField(to='mygame.action')),
                ('ordermarket', models.ManyToManyField(to='mygame.order')),
                ('participants', models.ManyToManyField(to='mygame.company')),
                ('timer', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='mygame.timer')),
            ],
        ),
        migrations.AddField(
            model_name='company',
            name='events',
            field=models.ManyToManyField(blank=True, to='mygame.event'),
        ),
        migrations.AddField(
            model_name='company',
            name='orders',
            field=models.ManyToManyField(blank=True, to='mygame.order'),
        ),
        migrations.AddField(
            model_name='company',
            name='workermarket',
            field=models.ManyToManyField(related_name='workermarket', to='mygame.worker'),
        ),
        migrations.AddField(
            model_name='company',
            name='workers',
            field=models.ManyToManyField(blank=True, related_name='workers', to='mygame.worker'),
        ),
        migrations.AddField(
            model_name='action',
            name='actionmaker',
            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='mygame.company'),
        ),
        migrations.AddField(
            model_name='action',
            name='polymorphic_ctype',
            field=models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_%(app_label)s.%(class)s_set+', to='contenttypes.contenttype'),
        ),
        migrations.CreateModel(
            name='SOChangeRequirement',
            fields=[
                ('specialorder_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.specialorder')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.specialorder',),
        ),
        migrations.CreateModel(
            name='SOPrototyp',
            fields=[
                ('specialorder_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.specialorder')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.specialorder',),
        ),
        migrations.CreateModel(
            name='SORegularIncrementUpdates',
            fields=[
                ('specialorder_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.specialorder')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.specialorder',),
        ),
        migrations.CreateModel(
            name='EventOfferAccepted',
            fields=[
                ('event_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.event')),
                ('modelset', models.BooleanField(default=False)),
                ('order', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='mygame.order')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.event',),
        ),
        migrations.CreateModel(
            name='ActionUnemploy',
            fields=[
                ('action_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.action')),
                ('worker', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='mygame.worker')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.action',),
        ),
        migrations.CreateModel(
            name='ActionTrain',
            fields=[
                ('action_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.action')),
                ('trainskill', models.CharField(default='empty', max_length=50)),
                ('cost', models.IntegerField(default=1000)),
                ('worker', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='mygame.worker')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.action',),
        ),
        migrations.CreateModel(
            name='ActionOffer',
            fields=[
                ('action_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.action')),
                ('amount', models.IntegerField(default=0)),
                ('order', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='mygame.order')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.action',),
        ),
        migrations.CreateModel(
            name='ActionEmploy',
            fields=[
                ('action_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.action')),
                ('worker', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='mygame.worker')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.action',),
        ),
        migrations.CreateModel(
            name='ActionCancelOrder',
            fields=[
                ('action_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='mygame.action')),
                ('order', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='mygame.order')),
            ],
            options={
                'abstract': False,
                'base_manager_name': 'objects',
            },
            bases=('mygame.action',),
        ),
    ]
