Files
edx-platform/lms/djangoapps/certificates/migrations/0003_data__default_modes.py
Kevin Falcone 2d9708da03 Remove uses of using() from migrations
This hardcoded the db_alias fetched from schema_editor and forces django
to try and migrate any second database you use, rather than routing to
the default database.  In testing a build from scratch, these do not
appear needed.

Using using() prevents us from using multiple databases behind edxapp.

Additionally - add back a removed backwards migration from certificates
0003.  I have no idea why this was dropped in the 1.8 upgrade.
2016-02-01 16:57:26 -05:00

39 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
# Converted from the original South migration 0002_default_rate_limit_config.py
from django.db import migrations, models
from django.conf import settings
from django.core.files import File
def forwards(apps, schema_editor):
"""Add default modes"""
BadgeImageConfiguration = apps.get_model("certificates", "BadgeImageConfiguration")
objects = BadgeImageConfiguration.objects
if not objects.exists():
for mode in ['honor', 'verified', 'professional']:
conf = objects.create(mode=mode)
file_name = '{0}{1}'.format(mode, '.png')
conf.icon.save(
'badges/{}'.format(file_name),
File(open(settings.PROJECT_ROOT / 'static' / 'images' / 'default-badges' / file_name))
)
conf.save()
def backwards(apps, schema_editor):
"""Do nothing, assumptions too dangerous."""
pass
class Migration(migrations.Migration):
dependencies = [
('certificates', '0002_data__certificatehtmlviewconfiguration_data'),
]
operations = [
migrations.RunPython(forwards,backwards)
]