Skip to content

Commit b8bc93e

Browse files
qasimgulzarqasimgulzar
authored andcommitted
fix: broken test
1 parent 498bb17 commit b8bc93e

1 file changed

Lines changed: 143 additions & 102 deletions

File tree

  • openedx/core/djangoapps/content/learning_sequences/migrations

openedx/core/djangoapps/content/learning_sequences/migrations/0001_initial.py

Lines changed: 143 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -3,118 +3,159 @@
33
# Manually modified to collate some fields as utf8_bin for case sensitive
44
# matching.
55

6-
from django.db import migrations, models
7-
import django.db.models.deletion
86
import django.utils.timezone
97
import model_utils.fields
108
import opaque_keys.edx.django.models
11-
from django.conf import settings
129
from django.db import connection
10+
from django.db import migrations, models
1311

14-
def run_before_migrate(migrations):
15-
if connection.vendor == 'mysql':
16-
# MySQL: utf8_bin collation
17-
return [migrations.RunSQL('ALTER TABLE learning_sequences_learningcontext MODIFY context_key VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin;',reverse_sql=migrations.RunSQL.noop,),
18-
migrations.RunSQL('ALTER TABLE learning_sequences_coursesection MODIFY usage_key VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin;',reverse_sql=migrations.RunSQL.noop,),
19-
migrations.RunSQL('ALTER TABLE learning_sequences_learningsequence MODIFY usage_key VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin;',reverse_sql=migrations.RunSQL.noop,)]
20-
elif connection.vendor == 'postgresql':
12+
13+
def run_before_migrate(migrations, db_engine):
14+
if 'postgresql' in db_engine:
2115
# PostgreSQL: Use binary collation
22-
return [migrations.RunSQL('ALTER TABLE learning_sequences_learningcontext ALTER COLUMN context_key TYPE VARCHAR(255) COLLATE "C";',reverse_sql=migrations.RunSQL.noop,),
23-
migrations.RunSQL('ALTER TABLE learning_sequences_coursesection ALTER COLUMN usage_key TYPE VARCHAR(255) COLLATE "C";',reverse_sql=migrations.RunSQL.noop,),
24-
migrations.RunSQL('ALTER TABLE learning_sequences_learningsequence ALTER COLUMN usage_key TYPE VARCHAR(255) COLLATE "C";',reverse_sql=migrations.RunSQL.noop,)]
25-
class Migration(migrations.Migration):
16+
return [
17+
migrations.RunSQL(
18+
'ALTER TABLE learning_sequences_learningcontext ALTER COLUMN context_key TYPE VARCHAR(255) COLLATE "C";',
19+
reverse_sql=migrations.RunSQL.noop, ),
20+
migrations.RunSQL(
21+
'ALTER TABLE learning_sequences_coursesection ALTER COLUMN usage_key TYPE VARCHAR(255) COLLATE "C";',
22+
reverse_sql=migrations.RunSQL.noop, ),
23+
migrations.RunSQL(
24+
'ALTER TABLE learning_sequences_learningsequence ALTER COLUMN usage_key TYPE VARCHAR(255) COLLATE "C";',
25+
reverse_sql=migrations.RunSQL.noop, ),
26+
]
2627

28+
return [
29+
migrations.RunSQL(
30+
'ALTER TABLE learning_sequences_learningcontext MODIFY context_key VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin;',
31+
reverse_sql=migrations.RunSQL.noop, ),
32+
migrations.RunSQL(
33+
'ALTER TABLE learning_sequences_coursesection MODIFY usage_key VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin;',
34+
reverse_sql=migrations.RunSQL.noop, ),
35+
migrations.RunSQL(
36+
'ALTER TABLE learning_sequences_learningsequence MODIFY usage_key VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin;',
37+
reverse_sql=migrations.RunSQL.noop, ),
38+
]
39+
40+
41+
class Migration(migrations.Migration):
2742
initial = True
43+
db_engine = connection.settings_dict['ENGINE']
2844

2945
dependencies = [
3046
]
3147

3248
operations = [
33-
migrations.CreateModel(
34-
name='CourseSection',
35-
fields=[
36-
('id', models.BigAutoField(primary_key=True, serialize=False)),
37-
('ordering', models.PositiveIntegerField()),
38-
('usage_key', opaque_keys.edx.django.models.UsageKeyField(max_length=255)),
39-
('title', models.CharField(max_length=1000)),
40-
('hide_from_toc', models.BooleanField(default=False)),
41-
('visible_to_staff_only', models.BooleanField(default=False)),
42-
('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
43-
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
44-
],
45-
),
46-
migrations.CreateModel(
47-
name='CourseSectionSequence',
48-
fields=[
49-
('id', models.BigAutoField(primary_key=True, serialize=False)),
50-
('ordering', models.PositiveIntegerField()),
51-
('hide_from_toc', models.BooleanField(default=False)),
52-
('visible_to_staff_only', models.BooleanField(default=False)),
53-
('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
54-
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
55-
],
56-
),
57-
migrations.CreateModel(
58-
name='LearningContext',
59-
fields=[
60-
('id', models.BigAutoField(primary_key=True, serialize=False)),
61-
('context_key', opaque_keys.edx.django.models.LearningContextKeyField(db_index=True, max_length=255, unique=True)),
62-
('title', models.CharField(max_length=255)),
63-
('published_at', models.DateTimeField()),
64-
('published_version', models.CharField(max_length=255)),
65-
('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
66-
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
67-
],
68-
),
69-
migrations.CreateModel(
70-
name='LearningSequence',
71-
fields=[
72-
('id', models.BigAutoField(primary_key=True, serialize=False)),
73-
('learning_context', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sequences', to='learning_sequences.LearningContext')),
74-
('usage_key', opaque_keys.edx.django.models.UsageKeyField(max_length=255)),
75-
('title', models.CharField(max_length=1000)),
76-
('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False, verbose_name='created')),
77-
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, editable=False, verbose_name='modified')),
78-
],
79-
),
80-
migrations.AddIndex(
81-
model_name='learningcontext',
82-
index=models.Index(fields=['-published_at'], name='learning_se_publish_62319b_idx'),
83-
),
84-
migrations.AddField(
85-
model_name='coursesectionsequence',
86-
name='learning_context',
87-
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='section_sequences', to='learning_sequences.LearningContext'),
88-
),
89-
migrations.AddField(
90-
model_name='coursesectionsequence',
91-
name='section',
92-
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='learning_sequences.CourseSection'),
93-
),
94-
migrations.AddField(
95-
model_name='coursesectionsequence',
96-
name='sequence',
97-
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='learning_sequences.LearningSequence'),
98-
),
99-
migrations.AddField(
100-
model_name='coursesection',
101-
name='learning_context',
102-
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sections', to='learning_sequences.LearningContext'),
103-
),
104-
migrations.AlterUniqueTogether(
105-
name='learningsequence',
106-
unique_together={('learning_context', 'usage_key')},
107-
),
108-
migrations.AlterUniqueTogether(
109-
name='coursesectionsequence',
110-
unique_together={('learning_context', 'ordering')},
111-
),
112-
migrations.AlterUniqueTogether(
113-
name='coursesection',
114-
unique_together={('learning_context', 'usage_key')},
115-
),
116-
migrations.AlterIndexTogether(
117-
name='coursesection',
118-
index_together={('learning_context', 'ordering')},
119-
),
120-
] + run_before_migrate(migrations)
49+
migrations.CreateModel(
50+
name='CourseSection',
51+
fields=[
52+
('id', models.BigAutoField(primary_key=True, serialize=False)),
53+
('ordering', models.PositiveIntegerField()),
54+
('usage_key', opaque_keys.edx.django.models.UsageKeyField(max_length=255)),
55+
('title', models.CharField(max_length=1000)),
56+
('hide_from_toc', models.BooleanField(default=False)),
57+
('visible_to_staff_only', models.BooleanField(default=False)),
58+
('created',
59+
model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False,
60+
verbose_name='created')),
61+
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now,
62+
editable=False,
63+
verbose_name='modified')),
64+
],
65+
),
66+
migrations.CreateModel(
67+
name='CourseSectionSequence',
68+
fields=[
69+
('id', models.BigAutoField(primary_key=True, serialize=False)),
70+
('ordering', models.PositiveIntegerField()),
71+
('hide_from_toc', models.BooleanField(default=False)),
72+
('visible_to_staff_only', models.BooleanField(default=False)),
73+
('created',
74+
model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False,
75+
verbose_name='created')),
76+
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now,
77+
editable=False,
78+
verbose_name='modified')),
79+
],
80+
),
81+
migrations.CreateModel(
82+
name='LearningContext',
83+
fields=[
84+
('id', models.BigAutoField(primary_key=True, serialize=False)),
85+
('context_key',
86+
opaque_keys.edx.django.models.LearningContextKeyField(db_index=True, max_length=255,
87+
unique=True)),
88+
('title', models.CharField(max_length=255)),
89+
('published_at', models.DateTimeField()),
90+
('published_version', models.CharField(max_length=255)),
91+
('created',
92+
model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False,
93+
verbose_name='created')),
94+
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now,
95+
editable=False,
96+
verbose_name='modified')),
97+
],
98+
),
99+
migrations.CreateModel(
100+
name='LearningSequence',
101+
fields=[
102+
('id', models.BigAutoField(primary_key=True, serialize=False)),
103+
('learning_context',
104+
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sequences',
105+
to='learning_sequences.LearningContext')),
106+
('usage_key', opaque_keys.edx.django.models.UsageKeyField(max_length=255)),
107+
('title', models.CharField(max_length=1000)),
108+
('created',
109+
model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, editable=False,
110+
verbose_name='created')),
111+
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now,
112+
editable=False,
113+
verbose_name='modified')),
114+
],
115+
),
116+
migrations.AddIndex(
117+
model_name='learningcontext',
118+
index=models.Index(fields=['-published_at'], name='learning_se_publish_62319b_idx'),
119+
),
120+
migrations.AddField(
121+
model_name='coursesectionsequence',
122+
name='learning_context',
123+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
124+
related_name='section_sequences',
125+
to='learning_sequences.LearningContext'),
126+
),
127+
migrations.AddField(
128+
model_name='coursesectionsequence',
129+
name='section',
130+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
131+
to='learning_sequences.CourseSection'),
132+
),
133+
migrations.AddField(
134+
model_name='coursesectionsequence',
135+
name='sequence',
136+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
137+
to='learning_sequences.LearningSequence'),
138+
),
139+
migrations.AddField(
140+
model_name='coursesection',
141+
name='learning_context',
142+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sections',
143+
to='learning_sequences.LearningContext'),
144+
),
145+
migrations.AlterUniqueTogether(
146+
name='learningsequence',
147+
unique_together={('learning_context', 'usage_key')},
148+
),
149+
migrations.AlterUniqueTogether(
150+
name='coursesectionsequence',
151+
unique_together={('learning_context', 'ordering')},
152+
),
153+
migrations.AlterUniqueTogether(
154+
name='coursesection',
155+
unique_together={('learning_context', 'usage_key')},
156+
),
157+
migrations.AlterIndexTogether(
158+
name='coursesection',
159+
index_together={('learning_context', 'ordering')},
160+
),
161+
] + run_before_migrate(migrations, db_engine=db_engine)

0 commit comments

Comments
 (0)