Created
February 22, 2011 20:27
-
-
Save RobCombs/839321 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" Migration created to give each category with a clark-howard hierarchy a top level | |
clark-howard category and set the hierarchy to news. | |
Also, the hierarchy db table has a default hierarchy of news, | |
so it will be set in the model/orm | |
""" | |
# encoding: utf-8 | |
import datetime | |
from south.db import db | |
from south.v2 import SchemaMigration | |
from django.db import models | |
from django.core.exceptions import ObjectDoesNotExist | |
class Migration(SchemaMigration): | |
def forwards(self, orm): | |
try: | |
#we'll get an exception here if the clark-howard hierarchy doesn't exist, | |
#in which case don't do anything | |
clark_hierarchy = orm.Hierarchy.objects.get(slug='clark-howard') | |
#if we get this far, it's most likely production content that needs to be | |
#migrated, so continue | |
news_hierarchy = orm.Hierarchy.objects.get(slug='news') | |
#production data to-date(2-15-11) doesn't contain a clark-howard category | |
#with the news hierarchy, but fetch it in case it does | |
top_level_clark_category, created = orm.Category.objects.get_or_create(id=181, name="Clark Howard", slug="clark-howard", parent=None, hierarchy=news_hierarchy) | |
if created: | |
top_level_clark_category.save() | |
for cat in orm.Category.objects.filter(hierarchy=clark_hierarchy, parent=None): | |
cat.parent = top_level_clark_category | |
cat.save() | |
except ObjectDoesNotExist: | |
pass | |
#remove orphaned Site Settings | |
orm['sitesettings.Setting'].objects.filter(name__exact='rss_hierarchy').delete() | |
def backwards(self, orm): | |
pass | |
models = { | |
'categories.alias': { | |
'Meta': {'object_name': 'Alias'}, | |
'category': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'aliases'", 'to': "orm['categories.Category']"}), | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'parent': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'childaliases'", 'to': "orm['categories.Category']"}) | |
}, | |
'categories.category': { | |
'Meta': {'unique_together': "(('parent', 'name'),)", 'object_name': 'Category'}, | |
'hierarchy': ('django.db.models.fields.related.ForeignKey', [], {'default': '1', 'related_name': "'categories'", 'blank': 'True', 'to': "orm['categories.Hierarchy']"}), | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['categories.Category']"}), | |
'path': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '300', 'blank': 'True'}), | |
'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), | |
'slug_path': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '300', 'blank': 'True'}) | |
}, | |
'categories.categorypseudonym': { | |
'Meta': {'object_name': 'CategoryPseudonym'}, | |
'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['categories.Category']"}), | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'name': ('django.db.models.fields.TextField', [], {}), | |
'system': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['categories.CategorySystem']"}) | |
}, | |
'categories.categorysubset': { | |
'Meta': {'object_name': 'CategorySubset'}, | |
'categories': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['categories.Category']", 'symmetrical': 'False'}), | |
'content_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['contenttypes.ContentType']", 'symmetrical': 'False'}), | |
'description': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '150', 'blank': 'True'}), | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'sites': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['sites.Site']", 'symmetrical': 'False'}) | |
}, | |
'categories.categorysystem': { | |
'Meta': {'object_name': 'CategorySystem'}, | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'name': ('django.db.models.fields.CharField', [], {'max_length': '300'}) | |
}, | |
'categories.hierarchy': { | |
'Meta': {'object_name': 'Hierarchy'}, | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}) | |
}, | |
'contenttypes.contenttype': { | |
'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | |
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
}, | |
'metadata.metadata': { | |
'Meta': {'unique_together': "(('type', 'content_type', 'object_id'),)", 'object_name': 'Metadata'}, | |
'content': ('django.db.models.fields.TextField', [], {}), | |
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'object_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), | |
'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['metadata.MetadataType']"}) | |
}, | |
'metadata.metadatatype': { | |
'Meta': {'object_name': 'MetadataType'}, | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'label': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), | |
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | |
}, | |
'sites.site': { | |
'Meta': {'object_name': 'Site', 'db_table': "'django_site'"}, | |
'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
}, | |
'sites.site': { | |
'Meta': {'object_name': 'Site', 'db_table': "'django_site'"}, | |
'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | |
}, | |
'sitesettings.partner': { | |
'Meta': {'object_name': 'Partner'}, | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) | |
}, | |
'sitesettings.setting': { | |
'Meta': {'unique_together': "(('site', 'name'),)", 'object_name': 'Setting'}, | |
'db_value': ('django.db.models.fields.TextField', [], {}), | |
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | |
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), | |
'partner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sitesettings.Partner']", 'null': 'True', 'blank': 'True'}), | |
'site': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'sitesettings'", 'null': 'True', 'to': "orm['sites.Site']"}) | |
} | |
} | |
complete_apps = ['categories', 'sitesettings'] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment