删掉旧的数据库迁移文件

This commit is contained in:
2025-06-14 17:08:52 +08:00
parent 258e1474ee
commit 45d727a9e0
70 changed files with 208 additions and 2144 deletions

View File

@@ -1,12 +1,10 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.12 on 2017-02-06 09:19
from __future__ import unicode_literals
# Generated by Django 5.2.3 on 2025-06-14 08:51
import django.db.models.deletion
import problem.models
import utils.models
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import jsonfield.fields
import utils.models
class Migration(migrations.Migration):
@@ -14,58 +12,64 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
('contest', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Problem',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=128)),
('description', utils.models.RichTextField()),
('input_description', utils.models.RichTextField()),
('output_description', utils.models.RichTextField()),
('samples', jsonfield.fields.JSONField()),
('test_case_id', models.CharField(max_length=32)),
('test_case_score', jsonfield.fields.JSONField()),
('hint', utils.models.RichTextField(blank=True, null=True)),
('languages', jsonfield.fields.JSONField()),
('template', jsonfield.fields.JSONField()),
('create_time', models.DateTimeField(auto_now_add=True)),
('last_update_time', models.DateTimeField(blank=True, null=True)),
('time_limit', models.IntegerField()),
('memory_limit', models.IntegerField()),
('spj', models.BooleanField(default=False)),
('spj_language', models.CharField(blank=True, max_length=32, null=True)),
('spj_code', models.TextField(blank=True, null=True)),
('spj_version', models.CharField(blank=True, max_length=32, null=True)),
('rule_type', models.CharField(max_length=32)),
('visible', models.BooleanField(default=True)),
('difficulty', models.CharField(max_length=32)),
('source', models.CharField(blank=True, max_length=200, null=True)),
('total_submit_number', models.IntegerField(default=0)),
('total_accepted_number', models.IntegerField(default=0)),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
options={
'db_table': 'problem',
'abstract': False,
},
),
migrations.CreateModel(
name='ProblemTag',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=30)),
('name', models.TextField()),
],
options={
'db_table': 'problem_tag',
},
),
migrations.AddField(
model_name='problem',
name='tags',
field=models.ManyToManyField(to='problem.ProblemTag'),
migrations.CreateModel(
name='Problem',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('_id', models.TextField(db_index=True)),
('is_public', models.BooleanField(default=False)),
('title', models.TextField()),
('description', utils.models.RichTextField()),
('input_description', utils.models.RichTextField()),
('output_description', utils.models.RichTextField()),
('samples', models.JSONField()),
('test_case_id', models.TextField()),
('test_case_score', models.JSONField()),
('hint', utils.models.RichTextField(null=True)),
('languages', models.JSONField()),
('template', models.JSONField()),
('create_time', models.DateTimeField(auto_now_add=True)),
('last_update_time', models.DateTimeField(auto_now=True, null=True)),
('time_limit', models.IntegerField()),
('memory_limit', models.IntegerField()),
('io_mode', models.JSONField(default=problem.models._default_io_mode)),
('spj', models.BooleanField(default=False)),
('spj_language', models.TextField(null=True)),
('spj_code', models.TextField(null=True)),
('spj_version', models.TextField(null=True)),
('spj_compile_ok', models.BooleanField(default=False)),
('rule_type', models.TextField()),
('visible', models.BooleanField(default=True)),
('difficulty', models.TextField()),
('source', models.TextField(null=True)),
('total_score', models.IntegerField(default=0)),
('submission_number', models.BigIntegerField(default=0)),
('accepted_number', models.BigIntegerField(default=0)),
('statistic_info', models.JSONField(default=dict)),
('share_submission', models.BooleanField(default=False)),
('contest', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='contest.contest')),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
('tags', models.ManyToManyField(to='problem.problemtag')),
],
options={
'db_table': 'problem',
'ordering': ('create_time',),
'unique_together': {('_id', 'contest')},
},
),
]

View File

@@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.12 on 2017-02-09 08:45
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('problem', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='problem',
name='_id',
field=models.CharField(db_index=True, default='1', max_length=24, unique=True),
preserve_default=False,
),
]

View File

@@ -1,63 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.12 on 2017-02-17 08:20
from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import jsonfield.fields
import utils.models
class Migration(migrations.Migration):
dependencies = [
('contest', '0003_auto_20170217_0820'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('problem', '0002_problem__id'),
]
operations = [
migrations.CreateModel(
name='ContestProblem',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=128)),
('description', utils.models.RichTextField()),
('input_description', utils.models.RichTextField()),
('output_description', utils.models.RichTextField()),
('samples', jsonfield.fields.JSONField()),
('test_case_id', models.CharField(max_length=32)),
('test_case_score', jsonfield.fields.JSONField()),
('hint', utils.models.RichTextField(blank=True, null=True)),
('languages', jsonfield.fields.JSONField()),
('template', jsonfield.fields.JSONField()),
('create_time', models.DateTimeField(auto_now_add=True)),
('last_update_time', models.DateTimeField(blank=True, null=True)),
('time_limit', models.IntegerField()),
('memory_limit', models.IntegerField()),
('spj', models.BooleanField(default=False)),
('spj_language', models.CharField(blank=True, max_length=32, null=True)),
('spj_code', models.TextField(blank=True, null=True)),
('spj_version', models.CharField(blank=True, max_length=32, null=True)),
('rule_type', models.CharField(max_length=32)),
('visible', models.BooleanField(default=True)),
('difficulty', models.CharField(max_length=32)),
('source', models.CharField(blank=True, max_length=200, null=True)),
('total_submit_number', models.IntegerField(default=0)),
('total_accepted_number', models.IntegerField(default=0)),
('_id', models.CharField(db_index=True, max_length=24)),
('is_public', models.BooleanField(default=False)),
('contest', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contest.Contest')),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
('tags', models.ManyToManyField(to='problem.ProblemTag')),
],
options={
'db_table': 'contest_problem',
},
),
migrations.AlterUniqueTogether(
name='contestproblem',
unique_together=set([('_id', 'contest')]),
),
]

View File

@@ -1,35 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2017-05-01 06:37
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('problem', '0003_auto_20170217_0820'),
]
operations = [
migrations.AlterField(
model_name='contestproblem',
name='total_accepted_number',
field=models.BigIntegerField(default=0),
),
migrations.AlterField(
model_name='contestproblem',
name='total_submit_number',
field=models.BigIntegerField(default=0),
),
migrations.AlterField(
model_name='problem',
name='total_accepted_number',
field=models.BigIntegerField(default=0),
),
migrations.AlterField(
model_name='problem',
name='total_submit_number',
field=models.BigIntegerField(default=0),
),
]

View File

@@ -1,26 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2017-08-15 12:58
from __future__ import unicode_literals
from django.db import migrations
import jsonfield.fields
class Migration(migrations.Migration):
dependencies = [
('problem', '0004_auto_20170501_0637'),
]
operations = [
migrations.AddField(
model_name='contestproblem',
name='statistic_info',
field=jsonfield.fields.JSONField(default={}),
),
migrations.AddField(
model_name='problem',
name='statistic_info',
field=jsonfield.fields.JSONField(default={}),
),
]

View File

@@ -1,35 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2017-08-23 09:18
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('problem', '0005_auto_20170815_1258'),
]
operations = [
migrations.RenameField(
model_name='contestproblem',
old_name='total_accepted_number',
new_name='accepted_number',
),
migrations.RenameField(
model_name='contestproblem',
old_name='total_submit_number',
new_name='submission_number',
),
migrations.RenameField(
model_name='problem',
old_name='total_accepted_number',
new_name='accepted_number',
),
migrations.RenameField(
model_name='problem',
old_name='total_submit_number',
new_name='submission_number',
),
]

View File

@@ -1,66 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2017-09-23 13:18
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('contest', '0005_auto_20170823_0918'),
('problem', '0006_auto_20170823_0918'),
]
operations = [
migrations.AddField(
model_name='contestproblem',
name='total_score',
field=models.IntegerField(blank=True, default=0),
),
migrations.AddField(
model_name='problem',
name='total_score',
field=models.IntegerField(blank=True, default=0),
),
migrations.AlterUniqueTogether(
name='contestproblem',
unique_together=set([]),
),
migrations.RemoveField(
model_name='contestproblem',
name='contest',
),
migrations.RemoveField(
model_name='contestproblem',
name='created_by',
),
migrations.RemoveField(
model_name='contestproblem',
name='tags',
),
migrations.AddField(
model_name='problem',
name='contest',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='contest.Contest'),
preserve_default=False,
),
migrations.AddField(
model_name='problem',
name='is_public',
field=models.BooleanField(default=False),
),
migrations.AlterField(
model_name='problem',
name='_id',
field=models.CharField(db_index=True, max_length=24),
),
migrations.AlterUniqueTogether(
name='problem',
unique_together=set([('_id', 'contest')]),
),
migrations.DeleteModel(
name='ContestProblem',
),
]

View File

@@ -1,45 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2017-10-11 12:14
from __future__ import unicode_literals
import django.contrib.postgres.fields.jsonb
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('problem', '0008_auto_20170923_1318'),
]
operations = [
migrations.AlterField(
model_name='problem',
name='languages',
field=django.contrib.postgres.fields.jsonb.JSONField(),
),
migrations.AlterField(
model_name='problem',
name='samples',
field=django.contrib.postgres.fields.jsonb.JSONField(),
),
migrations.AlterField(
model_name='problem',
name='statistic_info',
field=django.contrib.postgres.fields.jsonb.JSONField(default=dict),
),
migrations.AlterField(
model_name='problem',
name='template',
field=django.contrib.postgres.fields.jsonb.JSONField(),
),
migrations.AlterField(
model_name='problem',
name='test_case_score',
field=django.contrib.postgres.fields.jsonb.JSONField(),
),
migrations.AlterModelOptions(
name='problem',
options={'ordering': ('create_time',)},
),
]

View File

@@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2017-11-16 12:42
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('problem', '0009_auto_20171011_1214'),
]
operations = [
migrations.AddField(
model_name='problem',
name='spj_compile_ok',
field=models.BooleanField(default=False),
),
]

View File

@@ -1,35 +0,0 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
from django.db.models import Count
def fix_problem_count_bugs(apps, schema_editor):
Submission = apps.get_model("submission", "Submission")
Problem = apps.get_model("problem", "Problem")
for item in Problem.objects.filter(contest__isnull=True):
submissions = Submission.objects.filter(problem=item)
item.submission_number = submissions.count()
results_count = submissions.values('result').annotate(count=Count('result')).order_by('result')
info = dict()
item.accepted_number = 0
for stat in results_count:
result = stat["result"]
if result == 0:
item.accepted_number = stat["count"]
info[str(result)] = stat["count"]
item.statistic_info = info
item.save(update_fields=["submission_number", "accepted_number", "statistic_info"])
class Migration(migrations.Migration):
dependencies = [
('problem', '0010_problem_spj_compile_ok'),
('submission', '0009_delete_user_output'),
]
operations = [
migrations.RunPython(fix_problem_count_bugs, reverse_code=migrations.RunPython.noop)
]

View File

@@ -1,87 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.3 on 2018-05-01 04:36
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
import utils.models
class Migration(migrations.Migration):
dependencies = [
('problem', '0011_fix_problem_ac_count'),
]
operations = [
migrations.AlterField(
model_name='problem',
name='_id',
field=models.TextField(db_index=True),
),
migrations.AlterField(
model_name='problem',
name='contest',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='contest.Contest'),
),
migrations.AlterField(
model_name='problem',
name='difficulty',
field=models.TextField(),
),
migrations.AlterField(
model_name='problem',
name='hint',
field=utils.models.RichTextField(null=True),
),
migrations.AlterField(
model_name='problem',
name='last_update_time',
field=models.DateTimeField(null=True),
),
migrations.AlterField(
model_name='problem',
name='rule_type',
field=models.TextField(),
),
migrations.AlterField(
model_name='problem',
name='source',
field=models.TextField(null=True),
),
migrations.AlterField(
model_name='problem',
name='spj_code',
field=models.TextField(null=True),
),
migrations.AlterField(
model_name='problem',
name='spj_language',
field=models.TextField(null=True),
),
migrations.AlterField(
model_name='problem',
name='spj_version',
field=models.TextField(null=True),
),
migrations.AlterField(
model_name='problem',
name='test_case_id',
field=models.TextField(),
),
migrations.AlterField(
model_name='problem',
name='title',
field=models.TextField(),
),
migrations.AlterField(
model_name='problem',
name='total_score',
field=models.IntegerField(default=0),
),
migrations.AlterField(
model_name='problemtag',
name='name',
field=models.TextField(),
),
]

View File

@@ -1,20 +0,0 @@
# Generated by Django 2.1.7 on 2019-03-12 07:13
import django.contrib.postgres.fields.jsonb
from django.db import migrations
import problem.models
class Migration(migrations.Migration):
dependencies = [
('problem', '0012_auto_20180501_0436'),
]
operations = [
migrations.AddField(
model_name='problem',
name='io_mode',
field=django.contrib.postgres.fields.jsonb.JSONField(default=problem.models._default_io_mode),
),
]

View File

@@ -1,18 +0,0 @@
# Generated by Django 2.1.7 on 2019-03-13 09:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('problem', '0013_problem_io_mode'),
]
operations = [
migrations.AddField(
model_name='problem',
name='share_submission',
field=models.BooleanField(default=False),
),
]

View File

@@ -1,44 +0,0 @@
# Generated by Django 5.0.6 on 2024-06-13 06:09
import problem.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('problem', '0014_problem_share_submission'),
]
operations = [
migrations.AlterField(
model_name='problem',
name='io_mode',
field=models.JSONField(default=problem.models._default_io_mode),
),
migrations.AlterField(
model_name='problem',
name='languages',
field=models.JSONField(),
),
migrations.AlterField(
model_name='problem',
name='samples',
field=models.JSONField(),
),
migrations.AlterField(
model_name='problem',
name='statistic_info',
field=models.JSONField(default=dict),
),
migrations.AlterField(
model_name='problem',
name='template',
field=models.JSONField(),
),
migrations.AlterField(
model_name='problem',
name='test_case_score',
field=models.JSONField(),
),
]

View File

@@ -1,18 +0,0 @@
# Generated by Django 5.0.6 on 2025-04-30 01:40
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('problem', '0015_alter_problem_io_mode_alter_problem_languages_and_more'),
]
operations = [
migrations.AlterField(
model_name='problem',
name='last_update_time',
field=models.DateTimeField(auto_now=True, null=True),
),
]

View File

@@ -1,18 +0,0 @@
# Generated by Django 5.0.6 on 2025-05-09 00:20
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('problem', '0016_alter_problem_last_update_time'),
]
operations = [
migrations.AlterField(
model_name='problem',
name='last_update_time',
field=models.DateTimeField(auto_now=True, null=True),
),
]