text: # Generated by Django 3.1.7 on 2021-07-19 20:47
  
  from django.db import migrations, models
  import django.db.models.deletion
  import django.utils.timezone
  import model_utils.fields
  
  
  class Migration(migrations.Migration):
  
      initial = True
  
      dependencies = [
      ]
  
      operations = [
          migrations.CreateModel(
              name='Battery',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
                  ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
                  ('status', model_utils.fields.StatusField(choices=[('template', 'template'), ('draft', 'draft'), ('published', 'published'), ('inactive', 'inactive')], default='template', max_length=100, no_check_for_status=True, verbose_name='status')),
                  ('status_changed', model_utils.fields.MonitorField(default=django.utils.timezone.now, monitor='status', verbose_name='status changed')),
                  ('name', models.TextField()),
                  ('consent', models.TextField(blank=True)),
                  ('insturctions', models.TextField(blank=True)),
                  ('advertisement', models.TextField(blank=True)),
              ],
              options={
                  'abstract': False,
              },
          ),
          migrations.CreateModel(
              name='ExperimentFramework',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
              ],
          ),
          migrations.CreateModel(
              name='RepoOrigin',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('origin', models.URLField(unique=True)),
              ],
          ),
          migrations.CreateModel(
              name='Result',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
                  ('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
              ],
              options={
                  'abstract': False,
              },
          ),
          migrations.CreateModel(
              name='Subject',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('email', models.TextField(blank=True)),
                  ('mturk_id', models.TextField(blank=True)),
                  ('notes', models.TextField(blank=True)),
              ],
          ),
          migrations.CreateModel(
              name='ExperimentRepo',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('name', models.TextField()),
                  ('location', models.TextField()),
                  ('origin', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='experiments.repoorigin')),
              ],
          ),
          migrations.CreateModel(
              name='ExperimentInstance',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('note', models.TextField(blank=True)),
                  ('commit', models.TextField(blank=True)),
                  ('commit_date', models.DateField(blank=True)),
                  ('experiment_repo_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='experiments.experimentrepo')),
              ],
          ),
          migrations.CreateModel(
              name='BatteryExperiments',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('order', models.IntegerField(default=1, help_text='\n            Order for experiment presentation. Smaller numbers will be selected first, and equivalent numbers\n            will be chosen from randomly.\n        ', verbose_name='Experiment order')),
                  ('battery', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='experiments.battery')),
                  ('experiment_instance', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='experiments.experimentinstance')),
              ],
          ),
          migrations.AddField(
              model_name='battery',
              name='experiment_instances',
              field=models.ManyToManyField(through='experiments.BatteryExperiments', to='experiments.ExperimentInstance'),
          ),
          migrations.AddField(
              model_name='battery',
              name='template_id',
              field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='experiments.battery'),
          ),
          migrations.CreateModel(
              name='Assignment',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('battery', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='experiments.battery')),
                  ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='experiments.subject')),
              ],
          ),
      ]
  