hacky reset of migrations

This commit is contained in:
Ross
2023-06-12 11:14:19 +01:00
parent 796ec1a072
commit 4eb421bc33
361 changed files with 949 additions and 8097 deletions
+87 -29
View File
@@ -1,4 +1,4 @@
# Generated by Django 3.1.3 on 2020-12-15 18:36
# Generated by Django 4.1.4 on 2023-06-12 10:07
from django.conf import settings
from django.db import migrations, models
@@ -12,6 +12,7 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
('generic', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
@@ -23,50 +24,107 @@ class Migration(migrations.Migration):
('category', models.CharField(max_length=200)),
],
),
migrations.CreateModel(
name='Question',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('stem', models.TextField(help_text='Stem of the question')),
('a', models.TextField(help_text='The question text')),
('a_answer', models.BooleanField(default=True, help_text='Answer')),
('b', models.TextField(help_text='The question text')),
('b_answer', models.BooleanField(default=True, help_text='Answer')),
('c', models.TextField(help_text='The question text')),
('c_answer', models.BooleanField(default=True, help_text='Answer')),
('d', models.TextField(help_text='The question text')),
('d_answer', models.BooleanField(default=True, help_text='Answer')),
('e', models.TextField(help_text='The question text')),
('e_answer', models.BooleanField(default=True, help_text='Answer')),
('created_date', models.DateTimeField(default=django.utils.timezone.now)),
('author', models.ManyToManyField(blank=True, help_text='Author(s) of question', related_name='physics_authored_questions', to=settings.AUTH_USER_MODEL)),
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='physics.category')),
],
),
migrations.CreateModel(
name='Exam',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=200)),
('active', models.BooleanField(default=True, help_text='If an exam should be available')),
('publish_results', models.BooleanField(default=True, help_text='If an exams results should be available')),
('exam_questions', sortedm2m.fields.SortedManyToManyField(blank='true', help_text=None, related_name='exams', to='physics.Question')),
('name', models.CharField(help_text='Name of the exam', max_length=200)),
('active', models.BooleanField(default=False, help_text='If an exam should be available to take')),
('exam_mode', models.BooleanField(default=False, help_text='If an exam should be taken in exam mode (users results will be submited to the server for marking)')),
('include_history', models.BooleanField(default=False, help_text='If an exam should include history when taking')),
('publish_results', models.BooleanField(default=False, help_text='If an exams results should be available')),
('json_creation_time', models.DateTimeField(blank=True, default=None, null=True)),
('exam_json_id', models.IntegerField(default=1, help_text='auto incrementing field when json recreated')),
('archive', models.BooleanField(default=False, help_text='Archived exams will remain on the test system but will not be displayed by default')),
('open_access', models.BooleanField(default=False, help_text='If the exam is freely accessible (to view and edit on the test system)')),
('authors_only', models.BooleanField(default=False, help_text='If true only exam authors will be able to view.')),
('stats_mean', models.FloatField(default=0)),
('stats_mode', models.CharField(default=0, max_length=25)),
('stats_median', models.FloatField(default=0)),
('stats_candidates', models.FloatField(default=0)),
('stats_min', models.FloatField(default=0)),
('stats_max', models.FloatField(default=0)),
('stats_max_possible', models.FloatField(default=0)),
('user_scores', models.JSONField(default=dict)),
('exam_results_emailed', models.DateTimeField(default=None, null=True)),
('time_limit', models.IntegerField(blank=True, help_text='Exam time limit (in seconds)', null=True)),
('author', models.ManyToManyField(blank=True, help_text='Author of exam', related_name='physics_exam_author', to=settings.AUTH_USER_MODEL)),
('cid_user_groups', models.ManyToManyField(blank=True, help_text='These groups define which candidates are able to be added to the exams/collection.', related_name='physics_cid_user_groups', to='generic.cidusergroup')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='CidUserAnswer',
name='Question',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('authors_only', models.BooleanField(default=False, help_text='If true only question authors will be able to view.')),
('created_date', models.DateTimeField(default=django.utils.timezone.now)),
('open_access', models.BooleanField(default=True, help_text='If a question should be freely available to browse')),
('feedback', models.TextField(blank=True, help_text='Question Feedback', null=True)),
('stem', models.TextField(help_text='Stem of the question')),
('a', models.TextField(help_text='The question text')),
('a_answer', models.BooleanField(default=True, help_text='Answer (check for true, uncheck for false)')),
('a_feedback', models.TextField(blank=True, help_text='Feedback for answer')),
('b', models.TextField(help_text='The question text')),
('b_answer', models.BooleanField(default=True, help_text='Answer (check for true, uncheck for false)')),
('b_feedback', models.TextField(blank=True, help_text='Feedback for answer')),
('c', models.TextField(help_text='The question text')),
('c_answer', models.BooleanField(default=True, help_text='Answer (check for true, uncheck for false)')),
('c_feedback', models.TextField(blank=True, help_text='Feedback for answer')),
('d', models.TextField(help_text='The question text')),
('d_answer', models.BooleanField(default=True, help_text='Answer (check for true, uncheck for false)')),
('d_feedback', models.TextField(blank=True, help_text='Feedback for answer')),
('e', models.TextField(help_text='The question text')),
('e_answer', models.BooleanField(default=True, help_text='Answer (check for true, uncheck for false)')),
('e_feedback', models.TextField(blank=True, help_text='Feedback for answer')),
('author', models.ManyToManyField(blank=True, help_text='Author(s) of question', related_name='physics_authored_questions', to=settings.AUTH_USER_MODEL)),
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='physics.category')),
],
options={
'abstract': False,
},
),
migrations.CreateModel(
name='UserAnswer',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('cid', models.BigIntegerField(blank=True, help_text='Candidate ID (limitied by BigIntegerField size)', null=True)),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('a', models.BooleanField()),
('b', models.BooleanField()),
('c', models.BooleanField()),
('d', models.BooleanField()),
('e', models.BooleanField()),
('cid', models.IntegerField(blank=True, null=True)),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('exam', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='cid_user_answers', to='physics.exam')),
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cid_user_answers', to='physics.question')),
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='user_physics_user_answers', to=settings.AUTH_USER_MODEL)),
],
options={
'ordering': ['cid'],
'abstract': False,
},
),
migrations.AddField(
model_name='exam',
name='exam_questions',
field=sortedm2m.fields.SortedManyToManyField(blank='true', help_text=None, related_name='exams', to='physics.question'),
),
migrations.AddField(
model_name='exam',
name='user_user_groups',
field=models.ManyToManyField(blank=True, help_text='These groups define which candidates are able to be added to the exams/collection.', related_name='physics_user_user_groups', to='generic.userusergroup'),
),
migrations.AddField(
model_name='exam',
name='valid_cid_users',
field=models.ManyToManyField(blank=True, related_name='physics_exams', to='generic.ciduser'),
),
migrations.AddField(
model_name='exam',
name='valid_user_users',
field=models.ManyToManyField(blank=True, related_name='user_physics_exams', to=settings.AUTH_USER_MODEL),
),
]
@@ -1,43 +0,0 @@
# Generated by Django 3.1.3 on 2020-12-16 22:07
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='exam',
name='time_limit',
field=models.IntegerField(blank=True, help_text='Exam time limit (in seconds)', null=True),
),
migrations.AlterField(
model_name='question',
name='a_answer',
field=models.BooleanField(default=True, help_text='Answer (check for true, uncheck for false)'),
),
migrations.AlterField(
model_name='question',
name='b_answer',
field=models.BooleanField(default=True, help_text='Answer (check for true, uncheck for false)'),
),
migrations.AlterField(
model_name='question',
name='c_answer',
field=models.BooleanField(default=True, help_text='Answer (check for true, uncheck for false)'),
),
migrations.AlterField(
model_name='question',
name='d_answer',
field=models.BooleanField(default=True, help_text='Answer (check for true, uncheck for false)'),
),
migrations.AlterField(
model_name='question',
name='e_answer',
field=models.BooleanField(default=True, help_text='Answer (check for true, uncheck for false)'),
),
]
@@ -1,38 +0,0 @@
# Generated by Django 3.1.3 on 2020-12-28 22:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0002_auto_20201216_2207'),
]
operations = [
migrations.AddField(
model_name='question',
name='a_feedback',
field=models.TextField(blank=True, help_text='Feedback for answer'),
),
migrations.AddField(
model_name='question',
name='b_feedback',
field=models.TextField(blank=True, help_text='Feedback for answer'),
),
migrations.AddField(
model_name='question',
name='c_feedback',
field=models.TextField(blank=True, help_text='Feedback for answer'),
),
migrations.AddField(
model_name='question',
name='d_feedback',
field=models.TextField(blank=True, help_text='Feedback for answer'),
),
migrations.AddField(
model_name='question',
name='e_feedback',
field=models.TextField(blank=True, help_text='Feedback for answer'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.1.3 on 2021-03-09 15:27
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0003_auto_20201228_2235'),
]
operations = [
migrations.AddField(
model_name='exam',
name='json_creation_time',
field=models.DateTimeField(blank=True, default=None, null=True),
),
]
-18
View File
@@ -1,18 +0,0 @@
# Generated by Django 3.1.3 on 2021-03-19 11:17
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0004_exam_json_creation_time'),
]
operations = [
migrations.AddField(
model_name='exam',
name='exam_mode',
field=models.BooleanField(default=True, help_text='If an exam should be take in exam_mode'),
),
]
@@ -1,28 +0,0 @@
# Generated by Django 3.1.3 on 2021-04-22 11:43
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0005_exam_exam_mode'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='active',
field=models.BooleanField(default=False, help_text='If an exam should be available'),
),
migrations.AlterField(
model_name='exam',
name='exam_mode',
field=models.BooleanField(default=True, help_text='If an exam should be taken in exam mode'),
),
migrations.AlterField(
model_name='exam',
name='publish_results',
field=models.BooleanField(default=False, help_text='If an exams results should be available'),
),
]
-20
View File
@@ -1,20 +0,0 @@
# Generated by Django 3.1.3 on 2021-05-03 10:36
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('physics', '0006_auto_20210422_1143'),
]
operations = [
migrations.AddField(
model_name='exam',
name='author',
field=models.ManyToManyField(blank=True, help_text='Author of exam', related_name='physics_exam_author', to=settings.AUTH_USER_MODEL),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.4 on 2021-07-06 19:02
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0007_exam_author'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='exam_mode',
field=models.BooleanField(default=False, help_text='If an exam should be taken in exam mode (users results will be submited to the server for marking)'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.4 on 2021-07-09 11:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0008_alter_exam_exam_mode'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='name',
field=models.CharField(help_text='Name of the exam', max_length=200),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.4 on 2021-08-01 08:18
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0009_alter_exam_name'),
]
operations = [
migrations.AddField(
model_name='exam',
name='json_creation_id',
field=models.IntegerField(default=1, help_text='auto incrementing field when json recreated'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.4 on 2021-08-01 08:47
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('physics', '0010_exam_json_creation_id'),
]
operations = [
migrations.RenameField(
model_name='exam',
old_name='json_creation_id',
new_name='exam_json_id',
),
]
@@ -1,23 +0,0 @@
# Generated by Django 3.2.6 on 2021-08-16 12:06
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0011_rename_json_creation_id_exam_exam_json_id'),
]
operations = [
migrations.AddField(
model_name='exam',
name='archive',
field=models.BooleanField(default=False, help_text='Archived exams will remain on the test system but will not be displayed by default'),
),
migrations.AlterField(
model_name='exam',
name='active',
field=models.BooleanField(default=False, help_text='If an exam should be available to take'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-17 17:03
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0012_auto_20210816_1306'),
]
operations = [
migrations.AddField(
model_name='exam',
name='open_access',
field=models.BooleanField(default=False, help_text='If the exam is freely accessible'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.8 on 2021-10-17 17:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0013_exam_open_access'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='open_access',
field=models.BooleanField(default=False, help_text='If the exam is freely accessible (to view and edit on the test system)'),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-11 13:01
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('generic', '0015_ciduser_ciduserexam'),
('physics', '0014_alter_exam_open_access'),
]
operations = [
migrations.AddField(
model_name='exam',
name='valid_users',
field=models.ManyToManyField(blank=True, related_name='physics_exams', to='generic.CidUser'),
),
]
@@ -1,53 +0,0 @@
# Generated by Django 3.2.8 on 2021-12-15 20:36
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0015_exam_valid_users'),
]
operations = [
migrations.AddField(
model_name='exam',
name='stats_candidates',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_graph',
field=models.TextField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_max',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_max_possible',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_mean',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_median',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_min',
field=models.FloatField(default=0),
),
migrations.AddField(
model_name='exam',
name='stats_mode',
field=models.CharField(default=0, max_length=25),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.10 on 2021-12-31 10:44
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0016_auto_20211215_2036'),
]
operations = [
migrations.AddField(
model_name='exam',
name='user_scores',
field=models.JSONField(default=dict),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.10 on 2022-04-04 21:56
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0017_exam_user_scores'),
]
operations = [
migrations.AddField(
model_name='exam',
name='include_history',
field=models.BooleanField(default=False, help_text='If an exam should include history when taking'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-03 17:48
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0018_exam_include_history'),
]
operations = [
migrations.AddField(
model_name='exam',
name='authors_only',
field=models.BooleanField(default=False, help_text='If true only exam authors will be able to view.'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-20 10:45
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('physics', '0019_exam_authors_only'),
]
operations = [
migrations.RenameField(
model_name='exam',
old_name='valid_users',
new_name='valid_cid_users',
),
]
@@ -1,20 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-20 12:42
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('physics', '0020_rename_valid_users_exam_valid_cid_users'),
]
operations = [
migrations.AddField(
model_name='exam',
name='valid_user_users',
field=models.ManyToManyField(blank=True, related_name='user_physics_exams', to=settings.AUTH_USER_MODEL),
),
]
@@ -1,32 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-21 20:35
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('generic', '0032_userprofile_registration_number'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('physics', '0021_exam_valid_user_users'),
]
operations = [
migrations.AddField(
model_name='ciduseranswer',
name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='user_physics_user_answers', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='exam',
name='cid_user_groups',
field=models.ManyToManyField(blank=True, help_text='These groups define which candidates are able to be added to the exams/collection.', related_name='physics_cid_user_groups', to='generic.CidUserGroup'),
),
migrations.AddField(
model_name='exam',
name='user_user_groups',
field=models.ManyToManyField(blank=True, help_text='These groups define which candidates are able to be added to the exams/collection.', related_name='physics_user_user_groups', to='generic.UserUserGroup'),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-21 20:58
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('generic', '0032_userprofile_registration_number'),
('physics', '0022_auto_20220521_2135'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='cid_user_groups',
field=models.ManyToManyField(blank=True, help_text='These groups define which candidates are able to be added to the exams/collection.', related_name='physics_exam_cid_user_groups', to='generic.CidUserGroup'),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 3.2.13 on 2022-05-21 20:59
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('generic', '0032_userprofile_registration_number'),
('physics', '0023_alter_exam_cid_user_groups'),
]
operations = [
migrations.AlterField(
model_name='exam',
name='cid_user_groups',
field=models.ManyToManyField(blank=True, help_text='These groups define which candidates are able to be added to the exams/collection.', related_name='physics_cid_user_groups', to='generic.CidUserGroup'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.13 on 2022-06-26 15:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0024_alter_exam_cid_user_groups'),
]
operations = [
migrations.AddField(
model_name='exam',
name='exam_results_emailed',
field=models.DateTimeField(default=None, null=True),
),
]
@@ -1,17 +0,0 @@
# Generated by Django 3.2.13 on 2022-06-30 20:45
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('physics', '0025_exam_exam_results_emailed'),
]
operations = [
migrations.RemoveField(
model_name='exam',
name='stats_graph',
),
]
@@ -1,22 +0,0 @@
# Generated by Django 4.1.4 on 2023-05-15 10:11
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0026_remove_exam_stats_graph'),
]
operations = [
migrations.AlterModelOptions(
name='ciduseranswer',
options={'ordering': ['cid']},
),
migrations.AlterField(
model_name='ciduseranswer',
name='cid',
field=models.BigIntegerField(blank=True, help_text='Candidate ID (limitied by BigIntegerField size)', null=True),
),
]
@@ -1,19 +0,0 @@
# Generated by Django 4.1.4 on 2023-05-15 10:14
from django.conf import settings
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('physics', '0027_alter_ciduseranswer_options_alter_ciduseranswer_cid'),
]
operations = [
migrations.RenameModel(
old_name='CidUserAnswer',
new_name='UserAnswer',
),
]
@@ -1,18 +0,0 @@
# Generated by Django 4.1.4 on 2023-05-22 12:31
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0028_rename_ciduseranswer_useranswer'),
]
operations = [
migrations.AddField(
model_name='question',
name='authors_only',
field=models.BooleanField(default=False, help_text='If true only question authors will be able to view.'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 4.1.4 on 2023-05-22 12:36
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0029_question_authors_only'),
]
operations = [
migrations.AddField(
model_name='question',
name='open_access',
field=models.BooleanField(default=True, help_text='If a question should be freely available to browse'),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 4.1.4 on 2023-05-22 12:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('physics', '0030_question_open_access'),
]
operations = [
migrations.AddField(
model_name='question',
name='feedback',
field=models.TextField(blank=True, help_text='Question Feedback', null=True),
),
]