0153811850a2e670b200a40c04fcaee953f88aef
[django-migdal.git] / migdal / migrations / 0006_auto__add_field_entry_in_stream__add_field_entry_first_published_at.py
1 # -*- coding: utf-8 -*-
2 import datetime
3 from south.db import db
4 from south.v2 import SchemaMigration
5 from django.db import models
6
7
8 class Migration(SchemaMigration):
9
10     def forwards(self, orm):
11         # Adding field 'Entry.in_stream'
12         db.add_column('migdal_entry', 'in_stream',
13                       self.gf('django.db.models.fields.BooleanField')(default=True),
14                       keep_default=False)
15
16         # Adding field 'Entry.first_published_at'
17         db.add_column('migdal_entry', 'first_published_at',
18                       self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True),
19                       keep_default=False)
20
21         if not db.dry_run:
22             for entry in orm.Entry.objects.exclude(
23                     published_at_en=None, published_at_pl=None):
24                 if entry.published_at_en and entry.published_at_pl:
25                     entry.first_published_at = min(
26                             entry.published_at_en, entry.published_at_pl)
27                 else:
28                     entry.first_published_at = (
29                         entry.published_at_en or entry.published_at_pl)
30                 orm.Entry.objects.filter(pk=entry.pk).update(
31                     first_published_at=entry.first_published_at)
32
33     def backwards(self, orm):
34         # Deleting field 'Entry.in_stream'
35         db.delete_column('migdal_entry', 'in_stream')
36
37         # Deleting field 'Entry.first_published_at'
38         db.delete_column('migdal_entry', 'first_published_at')
39
40
41     models = {
42         'migdal.attachment': {
43             'Meta': {'object_name': 'Attachment'},
44             'entry': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['migdal.Entry']"}),
45             'file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
46             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
47         },
48         'migdal.category': {
49             'Meta': {'object_name': 'Category'},
50             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
51             'slug_en': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
52             'slug_pl': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}),
53             'taxonomy': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
54             'title_en': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64', 'db_index': 'True'}),
55             'title_pl': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64', 'db_index': 'True'})
56         },
57         'migdal.entry': {
58             'Meta': {'ordering': "['-date']", 'object_name': 'Entry'},
59             '_body_en_rendered': ('django.db.models.fields.TextField', [], {}),
60             '_body_pl_rendered': ('django.db.models.fields.TextField', [], {}),
61             '_lead_en_rendered': ('django.db.models.fields.TextField', [], {}),
62             '_lead_pl_rendered': ('django.db.models.fields.TextField', [], {}),
63             'author': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
64             'author_email': ('django.db.models.fields.EmailField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
65             'body_en': ('markupfield.fields.MarkupField', [], {'null': 'True', 'rendered_field': 'True', 'blank': 'True'}),
66             'body_en_markup_type': ('django.db.models.fields.CharField', [], {'default': "'textile_pl'", 'max_length': '30', 'blank': 'True'}),
67             'body_pl': ('markupfield.fields.MarkupField', [], {'null': 'True', 'rendered_field': 'True', 'blank': 'True'}),
68             'body_pl_markup_type': ('django.db.models.fields.CharField', [], {'default': "'textile_pl'", 'max_length': '30', 'blank': 'True'}),
69             'categories': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['migdal.Category']", 'null': 'True', 'blank': 'True'}),
70             'changed_at': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'db_index': 'True', 'blank': 'True'}),
71             'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}),
72             'first_published_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
73             'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
74             'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
75             'in_stream': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
76             'lead_en': ('markupfield.fields.MarkupField', [], {'null': 'True', 'rendered_field': 'True', 'blank': 'True'}),
77             'lead_en_markup_type': ('django.db.models.fields.CharField', [], {'default': "'textile_pl'", 'max_length': '30', 'blank': 'True'}),
78             'lead_pl': ('markupfield.fields.MarkupField', [], {'null': 'True', 'rendered_field': 'True', 'blank': 'True'}),
79             'lead_pl_markup_type': ('django.db.models.fields.CharField', [], {'default': "'textile_pl'", 'max_length': '30', 'blank': 'True'}),
80             'needed_en': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '1', 'db_index': 'True'}),
81             'promo': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
82             'published_at_en': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
83             'published_at_pl': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
84             'published_en': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
85             'published_pl': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
86             'slug_en': ('migdal.fields.SlugNullField', [], {'max_length': '50', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
87             'slug_pl': ('migdal.fields.SlugNullField', [], {'max_length': '50', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
88             'title_en': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
89             'title_pl': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
90             'type': ('django.db.models.fields.CharField', [], {'max_length': '16', 'db_index': 'True'})
91         }
92     }
93
94     complete_apps = ['migdal']