Commit 10bd9e8a by Matt Drayer Committed by Jonathan Piacenti

mattdrayer/api-org-migration: Moved api_manager data migration work to orgs app

parent 777e2b97
# -*- coding: utf-8 -*-
import datetime
import logging
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
from django.db import connection, models, transaction
from organizations.models import Organization
log = logging.getLogger(__name__)
class Migration(SchemaMigration):
def print_message(self, msg):
print msg
log.info(msg)
def forwards(self, orm):
if not db.dry_run:
existing_entries = Organization.objects.all().count()
self.print_message('EXISTING ENTRIES: {}'.format(existing_entries))
if existing_entries == 0:
try:
cursor = connection.cursor()
cursor.execute('INSERT INTO organizations_organization SELECT * from api_manager_organization')
log_msg = 'organizations entries moved from api_manager to organizations app'
self.print_message(log_msg)
cursor.execute('INSERT INTO organizations_organization_workgroups '
'SELECT * from api_manager_organization_workgroups')
log_msg = 'organization_workgroups entries moved from api_manager to organizations app'
self.print_message(log_msg)
cursor.execute('INSERT INTO organizations_organization_users '
'SELECT * from api_manager_organization_users')
log_msg = 'organization_users entries moved from api_manager to organizations app'
self.print_message(log_msg)
cursor.execute('INSERT INTO organizations_organization_groups '
'SELECT * from api_manager_organization_groups')
log_msg = 'organization_groups entries moved from api_manager to organizations app'
self.print_message(log_msg)
transaction.commit()
# Deleting model 'Organization'
db.delete_table('api_manager_organization')
......@@ -20,6 +56,12 @@ class Migration(SchemaMigration):
# Removing M2M table for field workgroups on 'Organization'
db.delete_table('api_manager_organization_workgroups')
except Exception as e:
log_msg = e.message
self.print_message(log_msg)
else:
log_msg = 'oroganizations_organization is not empty. You might have already filled it.'
self.print_message(log_msg)
def backwards(self, orm):
# Adding model 'Organization'
......@@ -60,7 +102,6 @@ class Migration(SchemaMigration):
))
db.create_unique('api_manager_organization_workgroups', ['organization_id', 'workgroup_id'])
models = {
'api_manager.coursecontentgrouprelationship': {
'Meta': {'unique_together': "(('course_id', 'content_id', 'group_profile'),)", 'object_name': 'CourseContentGroupRelationship'},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment