From 002f83dbe52b1bbabbb8310d128be590c32fb998 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Mon, 25 Aug 2014 15:15:48 -0400 Subject: [PATCH] Updated to Django 1.7 -Replaced south migrations with built-in migrations. -Updated to use django-registration-redux. --- README.txt | 2 - accounts/migrations/0001_initial.py | 87 ++----- aggregator/migrations/0001_initial.py | 143 +++++------- .../0002_add_feed_approver_auth_group.py | 26 +++ aggregator/migrations/0002_rename_tables.py | 47 ---- aggregator/migrations/0003_add_feed_owner.py | 87 ------- .../0004_add_approval_status_field.py | 84 ------- .../0005_add_feed_approver_auth_group.py | 84 ------- .../0006__del_field_feed_is_defunct.py | 88 ------- blog/migrations/0001_initial.py | 69 +++--- .../0002_auto__add_field_entry_is_active.py | 35 --- .../0003_activate_existing_entries.py | 30 --- ...summary_html__add_field_entry_body_html.py | 43 ---- ...005_copy_entry_summary_and_body_to_html.py | 35 --- ...0006_auto__add_field_entry_use_raw_html.py | 38 --- .../0007_existing_entries_are_raw_html.py | 35 --- ...0008_auto__del_field_entry_use_raw_html.py | 37 --- ...09_auto__add_field_entry_content_format.py | 38 --- cla/migrations/0001_initial.py | 216 +++++++----------- contact/models.py | 0 deploy-requirements.txt | 5 +- django_docs/settings.py | 7 +- django_www/common_settings.py | 2 + django_www/settings.py | 6 - docs/migrations/0001_initial.py | 132 ++++++++--- docs/migrations/0002_add_document_model.py | 48 ---- docs/migrations/0003_fix_document_model.py | 40 ---- docs/migrations/0004_add_git_support.py | 47 ---- .../migrations/0005_add_unicity_constaints.py | 46 ---- legacy/models.py | 0 releases/migrations/0001_initial.py | 54 +++-- .../0002_auto__chg_field_release_date.py | 28 --- .../0003_auto__add_fields_release_tuple.py | 73 ------ .../0004_auto__add_field_release_is_lts.py | 36 --- tracdb/db_router.py | 4 +- tracdb/migrations/0001_initial.py | 124 ++++++++-- .../migrations/0002_bouncing_tickets_view.py | 35 --- tracdb/models.py | 6 + 38 files changed, 454 insertions(+), 1463 deletions(-) create mode 100644 aggregator/migrations/0002_add_feed_approver_auth_group.py delete mode 100644 aggregator/migrations/0002_rename_tables.py delete mode 100644 aggregator/migrations/0003_add_feed_owner.py delete mode 100644 aggregator/migrations/0004_add_approval_status_field.py delete mode 100644 aggregator/migrations/0005_add_feed_approver_auth_group.py delete mode 100644 aggregator/migrations/0006__del_field_feed_is_defunct.py delete mode 100644 blog/migrations/0002_auto__add_field_entry_is_active.py delete mode 100644 blog/migrations/0003_activate_existing_entries.py delete mode 100644 blog/migrations/0004_auto__add_field_entry_summary_html__add_field_entry_body_html.py delete mode 100644 blog/migrations/0005_copy_entry_summary_and_body_to_html.py delete mode 100644 blog/migrations/0006_auto__add_field_entry_use_raw_html.py delete mode 100644 blog/migrations/0007_existing_entries_are_raw_html.py delete mode 100644 blog/migrations/0008_auto__del_field_entry_use_raw_html.py delete mode 100644 blog/migrations/0009_auto__add_field_entry_content_format.py delete mode 100644 contact/models.py delete mode 100644 docs/migrations/0002_add_document_model.py delete mode 100644 docs/migrations/0003_fix_document_model.py delete mode 100644 docs/migrations/0004_add_git_support.py delete mode 100644 docs/migrations/0005_add_unicity_constaints.py delete mode 100644 legacy/models.py delete mode 100644 releases/migrations/0002_auto__chg_field_release_date.py delete mode 100644 releases/migrations/0003_auto__add_fields_release_tuple.py delete mode 100644 releases/migrations/0004_auto__add_field_release_is_lts.py delete mode 100644 tracdb/migrations/0002_bouncing_tickets_view.py diff --git a/README.txt b/README.txt index 771d1f25d7..9d7ab9e9c5 100644 --- a/README.txt +++ b/README.txt @@ -27,12 +27,10 @@ To run locally, do the usual:: psql -d code.djangoproject < tracdb/trac.sql - ./manage.py syncdb ./manage.py migrate and:: - ./manage.py syncdb --docs ./manage.py migrate --docs if you want to run docs site. diff --git a/accounts/migrations/0001_initial.py b/accounts/migrations/0001_initial.py index c1b797c5c2..911f1ceb8f 100644 --- a/accounts/migrations/0001_initial.py +++ b/accounts/migrations/0001_initial.py @@ -1,71 +1,26 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models +# -*- coding: utf-8 -*- +from __future__ import unicode_literals -class Migration(SchemaMigration): +from django.db import models, migrations +from django.conf import settings - def forwards(self, orm): - - # Adding model 'Profile' - db.create_table('accounts_profile', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('user', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['auth.User'], unique=True)), - ('name', self.gf('django.db.models.fields.CharField')(max_length=200, blank=True)), - )) - db.send_create_signal('accounts', ['Profile']) +class Migration(migrations.Migration): - def backwards(self, orm): - - # Deleting model 'Profile' - db.delete_table('accounts_profile') + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] - - models = { - 'accounts.profile': { - 'Meta': {'object_name': 'Profile'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), - 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}) - }, - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'ordering': "('name',)", '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'}) - } - } - - complete_apps = ['accounts'] + operations = [ + migrations.CreateModel( + name='Profile', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=200, blank=True)), + ('user', models.OneToOneField(to=settings.AUTH_USER_MODEL)), + ], + options={ + }, + bases=(models.Model,), + ), + ] diff --git a/aggregator/migrations/0001_initial.py b/aggregator/migrations/0001_initial.py index 87672b7330..a4c8df8cd9 100644 --- a/aggregator/migrations/0001_initial.py +++ b/aggregator/migrations/0001_initial.py @@ -1,85 +1,68 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models +# -*- coding: utf-8 -*- +from __future__ import unicode_literals -class Migration(SchemaMigration): +from django.db import models, migrations +from django.conf import settings - def forwards(self, orm): - - # Adding model 'FeedType' - db.create_table('aggregator_feedtype', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('name', self.gf('django.db.models.fields.CharField')(max_length=250)), - ('slug', self.gf('django.db.models.fields.SlugField')(max_length=250, db_index=True)), - ('can_self_add', self.gf('django.db.models.fields.BooleanField')(default=True)), - )) - db.send_create_signal('aggregator', ['FeedType']) - # Adding model 'Feed' - db.create_table('aggregator_feeds', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('title', self.gf('django.db.models.fields.CharField')(max_length=500)), - ('feed_url', self.gf('django.db.models.fields.URLField')(unique=True, max_length=500)), - ('public_url', self.gf('django.db.models.fields.URLField')(max_length=500)), - ('is_defunct', self.gf('django.db.models.fields.BooleanField')(default=False)), - ('feed_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['aggregator.FeedType'])), - )) - db.send_create_signal('aggregator', ['Feed']) +class Migration(migrations.Migration): - # Adding model 'FeedItem' - db.create_table('aggregator_feeditems', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('feed', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['aggregator.Feed'])), - ('title', self.gf('django.db.models.fields.CharField')(max_length=500)), - ('link', self.gf('django.db.models.fields.URLField')(max_length=500)), - ('summary', self.gf('django.db.models.fields.TextField')(blank=True)), - ('date_modified', self.gf('django.db.models.fields.DateTimeField')()), - ('guid', self.gf('django.db.models.fields.CharField')(unique=True, max_length=500, db_index=True)), - )) - db.send_create_signal('aggregator', ['FeedItem']) + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] - - def backwards(self, orm): - - # Deleting model 'FeedType' - db.delete_table('aggregator_feedtype') - - # Deleting model 'Feed' - db.delete_table('aggregator_feeds') - - # Deleting model 'FeedItem' - db.delete_table('aggregator_feeditems') - - - models = { - 'aggregator.feed': { - 'Meta': {'object_name': 'Feed', 'db_table': "'aggregator_feeds'"}, - 'feed_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['aggregator.FeedType']"}), - 'feed_url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '500'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_defunct': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'public_url': ('django.db.models.fields.URLField', [], {'max_length': '500'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'aggregator.feeditem': { - 'Meta': {'ordering': "('-date_modified',)", 'object_name': 'FeedItem', 'db_table': "'aggregator_feeditems'"}, - 'date_modified': ('django.db.models.fields.DateTimeField', [], {}), - 'feed': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['aggregator.Feed']"}), - 'guid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '500', 'db_index': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'link': ('django.db.models.fields.URLField', [], {'max_length': '500'}), - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'aggregator.feedtype': { - 'Meta': {'object_name': 'FeedType'}, - 'can_self_add': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '250', 'db_index': 'True'}) - } - } - - complete_apps = ['aggregator'] + operations = [ + migrations.CreateModel( + name='Feed', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', models.CharField(max_length=500)), + ('feed_url', models.URLField(unique=True, max_length=500)), + ('public_url', models.URLField(max_length=500)), + ('approval_status', models.CharField(default='P', max_length=1, choices=[('P', 'Pending'), ('D', 'Denied'), ('A', 'Approved')])), + ], + options={ + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='FeedItem', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('title', models.CharField(max_length=500)), + ('link', models.URLField(max_length=500)), + ('summary', models.TextField(blank=True)), + ('date_modified', models.DateTimeField()), + ('guid', models.CharField(unique=True, max_length=500, db_index=True)), + ('feed', models.ForeignKey(to='aggregator.Feed')), + ], + options={ + 'ordering': ('-date_modified',), + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='FeedType', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=250)), + ('slug', models.SlugField(max_length=250)), + ('can_self_add', models.BooleanField(default=True)), + ], + options={ + }, + bases=(models.Model,), + ), + migrations.AddField( + model_name='feed', + name='feed_type', + field=models.ForeignKey(to='aggregator.FeedType'), + preserve_default=True, + ), + migrations.AddField( + model_name='feed', + name='owner', + field=models.ForeignKey(related_name='owned_feeds', blank=True, to=settings.AUTH_USER_MODEL, null=True), + preserve_default=True, + ), + ] diff --git a/aggregator/migrations/0002_add_feed_approver_auth_group.py b/aggregator/migrations/0002_add_feed_approver_auth_group.py new file mode 100644 index 0000000000..c0e5b30010 --- /dev/null +++ b/aggregator/migrations/0002_add_feed_approver_auth_group.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +from django.conf import settings + + +def forwards_func(apps, schema_editor): + if schema_editor.connection.alias == 'default': + apps.get_model('auth', 'Group').objects.create(name=settings.FEED_APPROVERS_GROUP_NAME) + + +def reverse_func(apps, schema_editor): + if schema_editor.connection.alias == 'default': + apps.get_model('auth', 'Group').objects.get(name=settings.FEED_APPROVERS_GROUP_NAME).delete() + + +class Migration(migrations.Migration): + + dependencies = [ + ('aggregator', '0001_initial'), + ] + + operations = [ + migrations.RunPython(forwards_func, reverse_func), + ] diff --git a/aggregator/migrations/0002_rename_tables.py b/aggregator/migrations/0002_rename_tables.py deleted file mode 100644 index 00de9fcb1d..0000000000 --- a/aggregator/migrations/0002_rename_tables.py +++ /dev/null @@ -1,47 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - # rename tables from the hardcoded old names to the Django defaults. - db.rename_table('aggregator_feeds', 'aggregator_feed') - db.rename_table('aggregator_feeditems', 'aggregator_feeditem') - - def backwards(self, orm): - db.rename_table('aggregator_feed', 'aggregator_feeds') - db.rename_table('aggregator_feeditem', 'aggregator_feeditems') - - models = { - 'aggregator.feed': { - 'Meta': {'object_name': 'Feed'}, - 'feed_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['aggregator.FeedType']"}), - 'feed_url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '500'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_defunct': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'public_url': ('django.db.models.fields.URLField', [], {'max_length': '500'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'aggregator.feeditem': { - 'Meta': {'ordering': "('-date_modified',)", 'object_name': 'FeedItem'}, - 'date_modified': ('django.db.models.fields.DateTimeField', [], {}), - 'feed': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['aggregator.Feed']"}), - 'guid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '500', 'db_index': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'link': ('django.db.models.fields.URLField', [], {'max_length': '500'}), - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'aggregator.feedtype': { - 'Meta': {'object_name': 'FeedType'}, - 'can_self_add': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '250', 'db_index': 'True'}) - } - } - - complete_apps = ['aggregator'] diff --git a/aggregator/migrations/0003_add_feed_owner.py b/aggregator/migrations/0003_add_feed_owner.py deleted file mode 100644 index 1a434bc4d8..0000000000 --- a/aggregator/migrations/0003_add_feed_owner.py +++ /dev/null @@ -1,87 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Adding field 'Feed.owner' - db.add_column('aggregator_feed', 'owner', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='owned_feeds', null=True, to=orm['auth.User']), keep_default=False) - - - def backwards(self, orm): - - # Deleting field 'Feed.owner' - db.delete_column('aggregator_feed', 'owner_id') - - - models = { - 'aggregator.feed': { - 'Meta': {'object_name': 'Feed'}, - 'feed_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['aggregator.FeedType']"}), - 'feed_url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '500'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_defunct': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'owner': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'owned_feeds'", 'null': 'True', 'to': "orm['auth.User']"}), - 'public_url': ('django.db.models.fields.URLField', [], {'max_length': '500'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'aggregator.feeditem': { - 'Meta': {'ordering': "('-date_modified',)", 'object_name': 'FeedItem'}, - 'date_modified': ('django.db.models.fields.DateTimeField', [], {}), - 'feed': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['aggregator.Feed']"}), - 'guid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '500', 'db_index': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'link': ('django.db.models.fields.URLField', [], {'max_length': '500'}), - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'aggregator.feedtype': { - 'Meta': {'object_name': 'FeedType'}, - 'can_self_add': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '250', 'db_index': 'True'}) - }, - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'ordering': "('name',)", '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'}) - } - } - - complete_apps = ['aggregator'] diff --git a/aggregator/migrations/0004_add_approval_status_field.py b/aggregator/migrations/0004_add_approval_status_field.py deleted file mode 100644 index 5b885a6d79..0000000000 --- a/aggregator/migrations/0004_add_approval_status_field.py +++ /dev/null @@ -1,84 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - # Create approval status field. All feeds default to approved. - db.add_column('aggregator_feed', 'approval_status', self.gf('django.db.models.fields.CharField')(default='A', max_length=1), keep_default=False) - - - def backwards(self, orm): - db.delete_column('aggregator_feed', 'approval_status') - - models = { - 'aggregator.feed': { - 'Meta': {'object_name': 'Feed'}, - 'approval_status': ('django.db.models.fields.CharField', [], {'default': "'P'", 'max_length': '1'}), - 'feed_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['aggregator.FeedType']"}), - 'feed_url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '500'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_defunct': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'owner': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'owned_feeds'", 'null': 'True', 'to': "orm['auth.User']"}), - 'public_url': ('django.db.models.fields.URLField', [], {'max_length': '500'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'aggregator.feeditem': { - 'Meta': {'ordering': "('-date_modified',)", 'object_name': 'FeedItem'}, - 'date_modified': ('django.db.models.fields.DateTimeField', [], {}), - 'feed': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['aggregator.Feed']"}), - 'guid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '500', 'db_index': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'link': ('django.db.models.fields.URLField', [], {'max_length': '500'}), - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'aggregator.feedtype': { - 'Meta': {'object_name': 'FeedType'}, - 'can_self_add': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '250', 'db_index': 'True'}) - }, - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'ordering': "('name',)", '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'}) - } - } - - complete_apps = ['aggregator'] diff --git a/aggregator/migrations/0005_add_feed_approver_auth_group.py b/aggregator/migrations/0005_add_feed_approver_auth_group.py deleted file mode 100644 index da96eb7fca..0000000000 --- a/aggregator/migrations/0005_add_feed_approver_auth_group.py +++ /dev/null @@ -1,84 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import DataMigration -from django.db import models -from django.conf import settings - -class Migration(DataMigration): - def forwards(self, orm): - group = orm['auth.Group'](name=settings.FEED_APPROVERS_GROUP_NAME) - group.save() - - def backwards(self, orm): - group = orm['auth.Group'].objects.get(name=settings.FEED_APPROVERS_GROUP_NAME) - group.delete() - - models = { - 'aggregator.feed': { - 'Meta': {'object_name': 'Feed'}, - 'approval_status': ('django.db.models.fields.CharField', [], {'default': "'P'", 'max_length': '1'}), - 'feed_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['aggregator.FeedType']"}), - 'feed_url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '500'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_defunct': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'owner': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'owned_feeds'", 'null': 'True', 'to': "orm['auth.User']"}), - 'public_url': ('django.db.models.fields.URLField', [], {'max_length': '500'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'aggregator.feeditem': { - 'Meta': {'ordering': "('-date_modified',)", 'object_name': 'FeedItem'}, - 'date_modified': ('django.db.models.fields.DateTimeField', [], {}), - 'feed': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['aggregator.Feed']"}), - 'guid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '500', 'db_index': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'link': ('django.db.models.fields.URLField', [], {'max_length': '500'}), - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'aggregator.feedtype': { - 'Meta': {'object_name': 'FeedType'}, - 'can_self_add': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '250', 'db_index': 'True'}) - }, - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'ordering': "('name',)", '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'}) - } - } - - complete_apps = ['aggregator'] diff --git a/aggregator/migrations/0006__del_field_feed_is_defunct.py b/aggregator/migrations/0006__del_field_feed_is_defunct.py deleted file mode 100644 index fa0c78196d..0000000000 --- a/aggregator/migrations/0006__del_field_feed_is_defunct.py +++ /dev/null @@ -1,88 +0,0 @@ -# -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - - def forwards(self, orm): - # Deleting field 'Feed.is_defunct' - db.delete_column(u'aggregator_feed', 'is_defunct') - - - def backwards(self, orm): - # Adding field 'Feed.is_defunct' - db.add_column(u'aggregator_feed', 'is_defunct', - self.gf('django.db.models.fields.BooleanField')(default=False), - keep_default=False) - - - models = { - u'aggregator.feed': { - 'Meta': {'object_name': 'Feed'}, - 'approval_status': ('django.db.models.fields.CharField', [], {'default': "'P'", 'max_length': '1'}), - 'feed_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['aggregator.FeedType']"}), - 'feed_url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '500'}), - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'owner': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'owned_feeds'", 'null': 'True', 'to': u"orm['auth.User']"}), - 'public_url': ('django.db.models.fields.URLField', [], {'max_length': '500'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - u'aggregator.feeditem': { - 'Meta': {'ordering': "('-date_modified',)", 'object_name': 'FeedItem'}, - 'date_modified': ('django.db.models.fields.DateTimeField', [], {}), - 'feed': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['aggregator.Feed']"}), - 'guid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '500', 'db_index': 'True'}), - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'link': ('django.db.models.fields.URLField', [], {'max_length': '500'}), - 'summary': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - u'aggregator.feedtype': { - 'Meta': {'object_name': 'FeedType'}, - 'can_self_add': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '250'}) - }, - u'auth.group': { - 'Meta': {'object_name': 'Group'}, - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) - }, - u'auth.permission': { - 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - u'auth.user': { - 'Meta': {'object_name': 'User'}, - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) - }, - u'contenttypes.contenttype': { - 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - u'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'}) - } - } - - complete_apps = ['aggregator'] \ No newline at end of file diff --git a/blog/migrations/0001_initial.py b/blog/migrations/0001_initial.py index 0e5a69678f..2708c4b568 100644 --- a/blog/migrations/0001_initial.py +++ b/blog/migrations/0001_initial.py @@ -1,43 +1,36 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models +# -*- coding: utf-8 -*- +from __future__ import unicode_literals -class Migration(SchemaMigration): +from django.db import models, migrations - def forwards(self, orm): - - # Adding model 'Entry' - db.create_table('blog_entries', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('pub_date', self.gf('django.db.models.fields.DateTimeField')()), - ('slug', self.gf('django.db.models.fields.SlugField')(max_length=50, db_index=True)), - ('headline', self.gf('django.db.models.fields.CharField')(max_length=200)), - ('summary', self.gf('django.db.models.fields.TextField')()), - ('body', self.gf('django.db.models.fields.TextField')()), - ('author', self.gf('django.db.models.fields.CharField')(max_length=100)), - )) - db.send_create_signal('blog', ['Entry']) +class Migration(migrations.Migration): - def backwards(self, orm): - - # Deleting model 'Entry' - db.delete_table('blog_entries') + dependencies = [ + ] - - models = { - 'blog.entry': { - 'Meta': {'ordering': "('-pub_date',)", 'object_name': 'Entry', 'db_table': "'blog_entries'"}, - 'author': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'body': ('django.db.models.fields.TextField', [], {}), - 'headline': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'pub_date': ('django.db.models.fields.DateTimeField', [], {}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), - 'summary': ('django.db.models.fields.TextField', [], {}) - } - } - - complete_apps = ['blog'] + operations = [ + migrations.CreateModel( + name='Entry', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('headline', models.CharField(max_length=200)), + ('slug', models.SlugField(unique_for_date='pub_date')), + ('is_active', models.BooleanField(default=False, help_text="Tick to make this entry live (see also the publication date). Note that administrators (like yourself) are allowed to preview inactive entries whereas the general public aren't.")), + ('pub_date', models.DateTimeField(help_text='For an entry to be published, it must be active and its publication date must be in the past.', verbose_name='Publication date')), + ('content_format', models.CharField(max_length=50, choices=[('reST', 'reStructuredText'), ('html', 'Raw HTML')])), + ('summary', models.TextField()), + ('summary_html', models.TextField()), + ('body', models.TextField()), + ('body_html', models.TextField()), + ('author', models.CharField(max_length=100)), + ], + options={ + 'ordering': ('-pub_date',), + 'db_table': 'blog_entries', + 'verbose_name_plural': 'entries', + 'get_latest_by': 'pub_date', + }, + bases=(models.Model,), + ), + ] diff --git a/blog/migrations/0002_auto__add_field_entry_is_active.py b/blog/migrations/0002_auto__add_field_entry_is_active.py deleted file mode 100644 index aa2bbbf99e..0000000000 --- a/blog/migrations/0002_auto__add_field_entry_is_active.py +++ /dev/null @@ -1,35 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Adding field 'Entry.is_active' - db.add_column('blog_entries', 'is_active', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) - - - def backwards(self, orm): - - # Deleting field 'Entry.is_active' - db.delete_column('blog_entries', 'is_active') - - - models = { - 'blog.entry': { - 'Meta': {'ordering': "('-pub_date',)", 'object_name': 'Entry', 'db_table': "'blog_entries'"}, - 'author': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'body': ('django.db.models.fields.TextField', [], {}), - 'headline': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'pub_date': ('django.db.models.fields.DateTimeField', [], {}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), - 'summary': ('django.db.models.fields.TextField', [], {}) - } - } - - complete_apps = ['blog'] diff --git a/blog/migrations/0003_activate_existing_entries.py b/blog/migrations/0003_activate_existing_entries.py deleted file mode 100644 index b597e42e02..0000000000 --- a/blog/migrations/0003_activate_existing_entries.py +++ /dev/null @@ -1,30 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import DataMigration -from django.db import models - -class Migration(DataMigration): - - def forwards(self, orm): - orm['blog.Entry'].objects.update(is_active=True) - - def backwards(self, orm): - "Write your backwards methods here." - - - models = { - 'blog.entry': { - 'Meta': {'ordering': "('-pub_date',)", 'object_name': 'Entry', 'db_table': "'blog_entries'"}, - 'author': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'body': ('django.db.models.fields.TextField', [], {}), - 'headline': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'pub_date': ('django.db.models.fields.DateTimeField', [], {}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), - 'summary': ('django.db.models.fields.TextField', [], {}) - } - } - - complete_apps = ['blog'] diff --git a/blog/migrations/0004_auto__add_field_entry_summary_html__add_field_entry_body_html.py b/blog/migrations/0004_auto__add_field_entry_summary_html__add_field_entry_body_html.py deleted file mode 100644 index 2fc08fbfb2..0000000000 --- a/blog/migrations/0004_auto__add_field_entry_summary_html__add_field_entry_body_html.py +++ /dev/null @@ -1,43 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Adding field 'Entry.summary_html' - db.add_column('blog_entries', 'summary_html', self.gf('django.db.models.fields.TextField')(default=''), keep_default=False) - - # Adding field 'Entry.body_html' - db.add_column('blog_entries', 'body_html', self.gf('django.db.models.fields.TextField')(default=''), keep_default=False) - - - def backwards(self, orm): - - # Deleting field 'Entry.summary_html' - db.delete_column('blog_entries', 'summary_html') - - # Deleting field 'Entry.body_html' - db.delete_column('blog_entries', 'body_html') - - - models = { - 'blog.entry': { - 'Meta': {'ordering': "('-pub_date',)", 'object_name': 'Entry', 'db_table': "'blog_entries'"}, - 'author': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'body': ('django.db.models.fields.TextField', [], {}), - 'body_html': ('django.db.models.fields.TextField', [], {}), - 'headline': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'pub_date': ('django.db.models.fields.DateTimeField', [], {}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), - 'summary': ('django.db.models.fields.TextField', [], {}), - 'summary_html': ('django.db.models.fields.TextField', [], {}) - } - } - - complete_apps = ['blog'] diff --git a/blog/migrations/0005_copy_entry_summary_and_body_to_html.py b/blog/migrations/0005_copy_entry_summary_and_body_to_html.py deleted file mode 100644 index dfd0f0c70a..0000000000 --- a/blog/migrations/0005_copy_entry_summary_and_body_to_html.py +++ /dev/null @@ -1,35 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import DataMigration -from django.db import models - -class Migration(DataMigration): - - def forwards(self, orm): - for entry in orm['blog.Entry'].objects.all(): - entry.summary_html = entry.summary - entry.body_html = entry.body - entry.save() - - def backwards(self, orm): - "Write your backwards methods here." - - - models = { - 'blog.entry': { - 'Meta': {'ordering': "('-pub_date',)", 'object_name': 'Entry', 'db_table': "'blog_entries'"}, - 'author': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'body': ('django.db.models.fields.TextField', [], {}), - 'body_html': ('django.db.models.fields.TextField', [], {}), - 'headline': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'pub_date': ('django.db.models.fields.DateTimeField', [], {}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), - 'summary': ('django.db.models.fields.TextField', [], {}), - 'summary_html': ('django.db.models.fields.TextField', [], {}) - } - } - - complete_apps = ['blog'] diff --git a/blog/migrations/0006_auto__add_field_entry_use_raw_html.py b/blog/migrations/0006_auto__add_field_entry_use_raw_html.py deleted file mode 100644 index fa21931835..0000000000 --- a/blog/migrations/0006_auto__add_field_entry_use_raw_html.py +++ /dev/null @@ -1,38 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Adding field 'Entry.use_raw_html' - db.add_column('blog_entries', 'use_raw_html', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) - - - def backwards(self, orm): - - # Deleting field 'Entry.use_raw_html' - db.delete_column('blog_entries', 'use_raw_html') - - - models = { - 'blog.entry': { - 'Meta': {'ordering': "('-pub_date',)", 'object_name': 'Entry', 'db_table': "'blog_entries'"}, - 'author': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'body': ('django.db.models.fields.TextField', [], {}), - 'body_html': ('django.db.models.fields.TextField', [], {}), - 'headline': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'pub_date': ('django.db.models.fields.DateTimeField', [], {}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), - 'summary': ('django.db.models.fields.TextField', [], {}), - 'summary_html': ('django.db.models.fields.TextField', [], {}), - 'use_raw_html': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) - } - } - - complete_apps = ['blog'] diff --git a/blog/migrations/0007_existing_entries_are_raw_html.py b/blog/migrations/0007_existing_entries_are_raw_html.py deleted file mode 100644 index a65d30cb4e..0000000000 --- a/blog/migrations/0007_existing_entries_are_raw_html.py +++ /dev/null @@ -1,35 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import DataMigration -from django.db import models - -class Migration(DataMigration): - - def forwards(self, orm): - for entry in orm['blog.Entry'].objects.all(): - entry.use_raw_html = True - entry.save() - - def backwards(self, orm): - "Write your backwards methods here." - - - models = { - 'blog.entry': { - 'Meta': {'ordering': "('-pub_date',)", 'object_name': 'Entry', 'db_table': "'blog_entries'"}, - 'author': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'body': ('django.db.models.fields.TextField', [], {}), - 'body_html': ('django.db.models.fields.TextField', [], {}), - 'headline': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'pub_date': ('django.db.models.fields.DateTimeField', [], {}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), - 'summary': ('django.db.models.fields.TextField', [], {}), - 'summary_html': ('django.db.models.fields.TextField', [], {}), - 'use_raw_html': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) - } - } - - complete_apps = ['blog'] diff --git a/blog/migrations/0008_auto__del_field_entry_use_raw_html.py b/blog/migrations/0008_auto__del_field_entry_use_raw_html.py deleted file mode 100644 index f5476e6eae..0000000000 --- a/blog/migrations/0008_auto__del_field_entry_use_raw_html.py +++ /dev/null @@ -1,37 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Deleting field 'Entry.use_raw_html' - db.delete_column('blog_entries', 'use_raw_html') - - - def backwards(self, orm): - - # Adding field 'Entry.use_raw_html' - db.add_column('blog_entries', 'use_raw_html', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) - - - models = { - 'blog.entry': { - 'Meta': {'ordering': "('-pub_date',)", 'object_name': 'Entry', 'db_table': "'blog_entries'"}, - 'author': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'body': ('django.db.models.fields.TextField', [], {}), - 'body_html': ('django.db.models.fields.TextField', [], {}), - 'headline': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'pub_date': ('django.db.models.fields.DateTimeField', [], {}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), - 'summary': ('django.db.models.fields.TextField', [], {}), - 'summary_html': ('django.db.models.fields.TextField', [], {}) - } - } - - complete_apps = ['blog'] diff --git a/blog/migrations/0009_auto__add_field_entry_content_format.py b/blog/migrations/0009_auto__add_field_entry_content_format.py deleted file mode 100644 index 880eb7b783..0000000000 --- a/blog/migrations/0009_auto__add_field_entry_content_format.py +++ /dev/null @@ -1,38 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Adding field 'Entry.content_format' - db.add_column('blog_entries', 'content_format', self.gf('django.db.models.fields.CharField')(default='html', max_length=50), keep_default=False) - - - def backwards(self, orm): - - # Deleting field 'Entry.content_format' - db.delete_column('blog_entries', 'content_format') - - - models = { - 'blog.entry': { - 'Meta': {'ordering': "('-pub_date',)", 'object_name': 'Entry', 'db_table': "'blog_entries'"}, - 'author': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'body': ('django.db.models.fields.TextField', [], {}), - 'body_html': ('django.db.models.fields.TextField', [], {}), - 'content_format': ('django.db.models.fields.CharField', [], {'max_length': '50'}), - 'headline': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'pub_date': ('django.db.models.fields.DateTimeField', [], {}), - 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), - 'summary': ('django.db.models.fields.TextField', [], {}), - 'summary_html': ('django.db.models.fields.TextField', [], {}) - } - } - - complete_apps = ['blog'] diff --git a/cla/migrations/0001_initial.py b/cla/migrations/0001_initial.py index 5a53c484d8..9e633ce937 100644 --- a/cla/migrations/0001_initial.py +++ b/cla/migrations/0001_initial.py @@ -1,143 +1,83 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models +# -*- coding: utf-8 -*- +from __future__ import unicode_literals -class Migration(SchemaMigration): +from django.db import models, migrations +from django.conf import settings - def forwards(self, orm): - - # Adding model 'ICLA' - db.create_table('cla_icla', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='iclas', null=True, to=orm['auth.User'])), - ('date_signed', self.gf('django.db.models.fields.DateField')()), - ('cla', self.gf('django.db.models.fields.files.FileField')(max_length=100, blank=True)), - ('full_name', self.gf('django.db.models.fields.CharField')(max_length=250, blank=True)), - ('email', self.gf('django.db.models.fields.EmailField')(max_length=75, blank=True)), - ('nickname', self.gf('django.db.models.fields.CharField')(max_length=250, blank=True)), - ('telephone', self.gf('django.db.models.fields.CharField')(max_length=50, blank=True)), - ('mailing_address', self.gf('django.db.models.fields.TextField')(blank=True)), - ('country', self.gf('django.db.models.fields.CharField')(max_length=50, blank=True)), - )) - db.send_create_signal('cla', ['ICLA']) - # Adding model 'CCLA' - db.create_table('cla_ccla', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('date_signed', self.gf('django.db.models.fields.DateField')()), - ('cla', self.gf('django.db.models.fields.files.FileField')(max_length=100)), - ('company_name', self.gf('django.db.models.fields.CharField')(max_length=200)), - ('company_address', self.gf('django.db.models.fields.TextField')(blank=True)), - ('country', self.gf('django.db.models.fields.CharField')(max_length=50)), - ('contact_name', self.gf('django.db.models.fields.CharField')(max_length=250)), - ('contact_email', self.gf('django.db.models.fields.EmailField')(max_length=75)), - ('contact_title', self.gf('django.db.models.fields.CharField')(max_length=200)), - ('telephone', self.gf('django.db.models.fields.CharField')(max_length=50, blank=True)), - )) - db.send_create_signal('cla', ['CCLA']) +class Migration(migrations.Migration): - # Adding model 'CCLADesignee' - db.create_table('cla_ccladesignee', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('ccla', self.gf('django.db.models.fields.related.ForeignKey')(related_name='designees', to=orm['cla.CCLA'])), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['auth.User'])), - ('icla', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['cla.ICLA'])), - ('date_added', self.gf('django.db.models.fields.DateField')()), - ('full_name', self.gf('django.db.models.fields.CharField')(max_length=250, blank=True)), - ('email', self.gf('django.db.models.fields.EmailField')(max_length=75, blank=True)), - ('nickname', self.gf('django.db.models.fields.CharField')(max_length=250, blank=True)), - )) - db.send_create_signal('cla', ['CCLADesignee']) + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] - - def backwards(self, orm): - - # Deleting model 'ICLA' - db.delete_table('cla_icla') - - # Deleting model 'CCLA' - db.delete_table('cla_ccla') - - # Deleting model 'CCLADesignee' - db.delete_table('cla_ccladesignee') - - - models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) - }, - 'cla.ccla': { - 'Meta': {'object_name': 'CCLA'}, - 'cla': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), - 'company_address': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'company_name': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'contact_email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}), - 'contact_name': ('django.db.models.fields.CharField', [], {'max_length': '250'}), - 'contact_title': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'country': ('django.db.models.fields.CharField', [], {'max_length': '50'}), - 'date_signed': ('django.db.models.fields.DateField', [], {}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'telephone': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}) - }, - 'cla.ccladesignee': { - 'Meta': {'object_name': 'CCLADesignee'}, - 'ccla': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'designees'", 'to': "orm['cla.CCLA']"}), - 'date_added': ('django.db.models.fields.DateField', [], {}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'full_name': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), - 'icla': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['cla.ICLA']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'nickname': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['auth.User']"}) - }, - 'cla.icla': { - 'Meta': {'object_name': 'ICLA'}, - 'cla': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'blank': 'True'}), - 'country': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}), - 'date_signed': ('django.db.models.fields.DateField', [], {}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'full_name': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'mailing_address': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'nickname': ('django.db.models.fields.CharField', [], {'max_length': '250', 'blank': 'True'}), - 'telephone': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'iclas'", 'null': 'True', 'to': "orm['auth.User']"}) - }, - 'contenttypes.contenttype': { - 'Meta': {'ordering': "('name',)", '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'}) - } - } - - complete_apps = ['cla'] + operations = [ + migrations.CreateModel( + name='CCLA', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('date_signed', models.DateField()), + ('cla', models.FileField(upload_to='cla')), + ('company_name', models.CharField(max_length=200)), + ('company_address', models.TextField(blank=True)), + ('country', models.CharField(max_length=50)), + ('contact_name', models.CharField(max_length=250)), + ('contact_email', models.EmailField(max_length=75)), + ('contact_title', models.CharField(max_length=200)), + ('telephone', models.CharField(max_length=50, blank=True)), + ], + options={ + 'verbose_name': 'corporate CLA', + 'verbose_name_plural': 'corporate CLAs', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='CCLADesignee', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('date_added', models.DateField()), + ('full_name', models.CharField(max_length=250, blank=True)), + ('email', models.EmailField(max_length=75, blank=True)), + ('nickname', models.CharField(max_length=250, blank=True)), + ('ccla', models.ForeignKey(related_name='designees', to='cla.CCLA')), + ], + options={ + 'verbose_name': 'CCLA designee', + 'verbose_name_plural': 'CCLA designees', + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='ICLA', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('date_signed', models.DateField()), + ('cla', models.FileField(upload_to='cla', blank=True)), + ('full_name', models.CharField(max_length=250, blank=True)), + ('email', models.EmailField(max_length=75, blank=True)), + ('nickname', models.CharField(max_length=250, blank=True)), + ('telephone', models.CharField(max_length=50, blank=True)), + ('mailing_address', models.TextField(blank=True)), + ('country', models.CharField(max_length=50, blank=True)), + ('user', models.ForeignKey(related_name='iclas', blank=True, to=settings.AUTH_USER_MODEL, null=True)), + ], + options={ + 'verbose_name': 'individual CLA', + 'verbose_name_plural': 'individual CLAs', + }, + bases=(models.Model,), + ), + migrations.AddField( + model_name='ccladesignee', + name='icla', + field=models.ForeignKey(related_name='+', blank=True, to='cla.ICLA', null=True), + preserve_default=True, + ), + migrations.AddField( + model_name='ccladesignee', + name='user', + field=models.ForeignKey(related_name='+', blank=True, to=settings.AUTH_USER_MODEL, null=True), + preserve_default=True, + ), + ] diff --git a/contact/models.py b/contact/models.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/deploy-requirements.txt b/deploy-requirements.txt index 8fae608657..3bce0855e2 100644 --- a/deploy-requirements.txt +++ b/deploy-requirements.txt @@ -1,11 +1,11 @@ # Requirements to deploy this code. akismet == 0.2.0 -Django == 1.6.6 +Django == 1.7.1 django-contact-form == 1.0 django-haystack == 1.2.7 django-push == 0.6.1 -django-registration==1.0 +django-registration-redux==1.1 django-secure == 1.0 docutils == 0.11 feedparser == 5.1.3 @@ -14,7 +14,6 @@ psycopg2 == 2.5.3 python-memcached == 1.53 raven == 5.0.0 requests == 2.3.0 -South == 1.0 Sphinx == 1.2.2 Unipath == 1.0 # xapian-haystack has a bug in 1.1.5beta fixed in trunk. diff --git a/django_docs/settings.py b/django_docs/settings.py index 5af596ea22..f04d03016a 100644 --- a/django_docs/settings.py +++ b/django_docs/settings.py @@ -17,7 +17,6 @@ 'djangosecure', 'haystack', - 'south', 'docs', ] @@ -47,6 +46,7 @@ USE_I18N = True LANGUAGE_CODE = 'en' +SILENCED_SYSTEM_CHECKS = ['1_6.W001'] # Docs settings @@ -68,11 +68,6 @@ HAYSTACK_WHOOSH_PATH = BASE.child('djangodocs.index') -# South settings - -SOUTH_TESTS_MIGRATE = False - - # Enable optional components if DEBUG: diff --git a/django_www/common_settings.py b/django_www/common_settings.py index 69f0273867..ab1222a7dd 100644 --- a/django_www/common_settings.py +++ b/django_www/common_settings.py @@ -131,6 +131,8 @@ USE_TZ = False +SILENCED_SYSTEM_CHECKS = ['1_6.W001'] + # django-secure settings SECURE_BROWSER_XSS_FILTER = True diff --git a/django_www/settings.py b/django_www/settings.py index 680400b4d5..cf69e78384 100644 --- a/django_www/settings.py +++ b/django_www/settings.py @@ -41,7 +41,6 @@ 'djangosecure', 'registration', - 'south', 'accounts', 'aggregator', @@ -101,11 +100,6 @@ SUPERFEEDR_CREDS = SECRETS.get('superfeedr_creds') -# South settings - -SOUTH_TESTS_MIGRATE = False - - # Enable optional components if DEBUG: diff --git a/docs/migrations/0001_initial.py b/docs/migrations/0001_initial.py index 68b3bd8b7b..745fd2c7d0 100644 --- a/docs/migrations/0001_initial.py +++ b/docs/migrations/0001_initial.py @@ -1,41 +1,101 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models +# -*- coding: utf-8 -*- +from __future__ import unicode_literals -class Migration(SchemaMigration): +from django.db import models, migrations - def forwards(self, orm): - - # Adding model 'DocumentRelease' - db.create_table('docs_documentrelease', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('lang', self.gf('django.db.models.fields.CharField')(default='en', max_length=2)), - ('version', self.gf('django.db.models.fields.CharField')(max_length=20)), - ('scm', self.gf('django.db.models.fields.CharField')(max_length=10)), - ('scm_url', self.gf('django.db.models.fields.URLField')(max_length=200)), - ('is_default', self.gf('django.db.models.fields.BooleanField')(default=False)), - )) - db.send_create_signal('docs', ['DocumentRelease']) +class Migration(migrations.Migration): - def backwards(self, orm): - - # Deleting model 'DocumentRelease' - db.delete_table('docs_documentrelease') + dependencies = [ + ] - - models = { - 'docs.documentrelease': { - 'Meta': {'object_name': 'DocumentRelease'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_default': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'lang': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '2'}), - 'scm': ('django.db.models.fields.CharField', [], {'max_length': '10'}), - 'scm_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}), - 'version': ('django.db.models.fields.CharField', [], {'max_length': '20'}) - } - } - - complete_apps = ['docs'] + operations = [ + migrations.CreateModel( + name='Document', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('path', models.CharField(max_length=500)), + ('title', models.CharField(max_length=500)), + ], + options={ + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='DocumentRelease', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('lang', models.CharField(default='en', max_length=2, choices=[ + (b'af', b'Afrikaans'), (b'ar', b'Arabic'), + (b'ast', b'Asturian'), (b'az', b'Azerbaijani'), + (b'bg', b'Bulgarian'), (b'be', b'Belarusian'), + (b'bn', b'Bengali'), (b'br', b'Breton'), + (b'bs', b'Bosnian'), (b'ca', b'Catalan'), + (b'cs', b'Czech'), (b'cy', b'Welsh'), + (b'da', b'Danish'), (b'de', b'German'), + (b'el', b'Greek'), (b'en', b'English'), + (b'en-au', b'Australian English'), + (b'en-gb', b'British English'), + (b'eo', b'Esperanto'), (b'es', b'Spanish'), + (b'es-ar', b'Argentinian Spanish'), + (b'es-mx', b'Mexican Spanish'), + (b'es-ni', b'Nicaraguan Spanish'), (b'es-ve', b'Venezuelan Spanish'), + (b'et', b'Estonian'), (b'eu', b'Basque'), + (b'fa', b'Persian'), (b'fi', b'Finnish'), + (b'fr', b'French'), (b'fy', b'Frisian'), + (b'ga', b'Irish'), (b'gl', b'Galician'), + (b'he', b'Hebrew'), (b'hi', b'Hindi'), + (b'hr', b'Croatian'), (b'hu', b'Hungarian'), + (b'ia', b'Interlingua'), (b'id', b'Indonesian'), + (b'io', b'Ido'), (b'is', b'Icelandic'), + (b'it', b'Italian'), (b'ja', b'Japanese'), + (b'ka', b'Georgian'), (b'kk', b'Kazakh'), + (b'km', b'Khmer'), (b'kn', b'Kannada'), + (b'ko', b'Korean'), (b'lb', b'Luxembourgish'), + (b'lt', b'Lithuanian'), (b'lv', b'Latvian'), + (b'mk', b'Macedonian'), (b'ml', b'Malayalam'), + (b'mn', b'Mongolian'), (b'mr', b'Marathi'), + (b'my', b'Burmese'), (b'nb', b'Norwegian Bokmal'), + (b'ne', b'Nepali'), (b'nl', b'Dutch'), + (b'nn', b'Norwegian Nynorsk'), (b'os', b'Ossetic'), + (b'pa', b'Punjabi'), (b'pl', b'Polish'), + (b'pt', b'Portuguese'), + (b'pt-br', b'Brazilian Portuguese'), (b'ro', b'Romanian'), + (b'ru', b'Russian'), (b'sk', b'Slovak'), + (b'sl', b'Slovenian'), (b'sq', b'Albanian'), + (b'sr', b'Serbian'), (b'sr-latn', b'Serbian Latin'), + (b'sv', b'Swedish'), (b'sw', b'Swahili'), + (b'ta', b'Tamil'), (b'te', b'Telugu'), (b'th', b'Thai'), + (b'tr', b'Turkish'), (b'tt', b'Tatar'), + (b'udm', b'Udmurt'), (b'uk', b'Ukrainian'), + (b'ur', b'Urdu'), (b'vi', b'Vietnamese'), + (b'zh-cn', b'Simplified Chinese'), + (b'zh-hans', b'Simplified Chinese'), + (b'zh-hant', b'Traditional Chinese'), + (b'zh-tw', b'Traditional Chinese'), + ])), + ('version', models.CharField(max_length=20)), + ('scm', models.CharField(max_length=10, choices=[('svn', 'SVN'), ('git', 'git')])), + ('scm_url', models.CharField(max_length=200)), + ('docs_subdir', models.CharField(max_length=200, blank=True)), + ('is_default', models.BooleanField(default=False)), + ], + options={ + }, + bases=(models.Model,), + ), + migrations.AlterUniqueTogether( + name='documentrelease', + unique_together=set([('lang', 'version')]), + ), + migrations.AddField( + model_name='document', + name='release', + field=models.ForeignKey(related_name='documents', to='docs.DocumentRelease'), + preserve_default=True, + ), + migrations.AlterUniqueTogether( + name='document', + unique_together=set([('release', 'path')]), + ), + ] diff --git a/docs/migrations/0002_add_document_model.py b/docs/migrations/0002_add_document_model.py deleted file mode 100644 index 25c2b36a6d..0000000000 --- a/docs/migrations/0002_add_document_model.py +++ /dev/null @@ -1,48 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Adding model 'Document' - db.create_table('docs_document', ( - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('release', self.gf('django.db.models.fields.related.ForeignKey')(related_name='documents', to=orm['docs.DocumentRelease'])), - ('path', self.gf('django.db.models.fields.CharField')(max_length=500)), - ('title', self.gf('django.db.models.fields.CharField')(max_length=500)), - ('content', self.gf('django.db.models.fields.TextField')()), - )) - db.send_create_signal('docs', ['Document']) - - - def backwards(self, orm): - - # Deleting model 'Document' - db.delete_table('docs_document') - - - models = { - 'docs.document': { - 'Meta': {'object_name': 'Document'}, - 'content': ('django.db.models.fields.TextField', [], {}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'path': ('django.db.models.fields.CharField', [], {'max_length': '500'}), - 'release': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'documents'", 'to': "orm['docs.DocumentRelease']"}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'docs.documentrelease': { - 'Meta': {'object_name': 'DocumentRelease'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_default': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'lang': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '2'}), - 'scm': ('django.db.models.fields.CharField', [], {'max_length': '10'}), - 'scm_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}), - 'version': ('django.db.models.fields.CharField', [], {'max_length': '20'}) - } - } - - complete_apps = ['docs'] diff --git a/docs/migrations/0003_fix_document_model.py b/docs/migrations/0003_fix_document_model.py deleted file mode 100644 index ec60527e01..0000000000 --- a/docs/migrations/0003_fix_document_model.py +++ /dev/null @@ -1,40 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Deleting field 'Document.content' - db.delete_column('docs_document', 'content') - - - def backwards(self, orm): - - # Adding field 'Document.content' - db.add_column('docs_document', 'content', self.gf('django.db.models.fields.TextField')(default=''), keep_default=False) - - - models = { - 'docs.document': { - 'Meta': {'object_name': 'Document'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'path': ('django.db.models.fields.CharField', [], {'max_length': '500'}), - 'release': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'documents'", 'to': "orm['docs.DocumentRelease']"}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'docs.documentrelease': { - 'Meta': {'object_name': 'DocumentRelease'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_default': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'lang': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '2'}), - 'scm': ('django.db.models.fields.CharField', [], {'max_length': '10'}), - 'scm_url': ('django.db.models.fields.URLField', [], {'max_length': '200'}), - 'version': ('django.db.models.fields.CharField', [], {'max_length': '20'}) - } - } - - complete_apps = ['docs'] diff --git a/docs/migrations/0004_add_git_support.py b/docs/migrations/0004_add_git_support.py deleted file mode 100644 index 6a73d556cf..0000000000 --- a/docs/migrations/0004_add_git_support.py +++ /dev/null @@ -1,47 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Adding field 'DocumentRelease.docs_subdir' - db.add_column('docs_documentrelease', 'docs_subdir', self.gf('django.db.models.fields.CharField')(default='', max_length=200, blank=True), keep_default=False) - - # Changing field 'DocumentRelease.scm_url' - db.alter_column('docs_documentrelease', 'scm_url', self.gf('django.db.models.fields.CharField')(max_length=200)) - - - def backwards(self, orm): - - # Deleting field 'DocumentRelease.docs_subdir' - db.delete_column('docs_documentrelease', 'docs_subdir') - - # Changing field 'DocumentRelease.scm_url' - db.alter_column('docs_documentrelease', 'scm_url', self.gf('django.db.models.fields.URLField')(max_length=200)) - - - models = { - 'docs.document': { - 'Meta': {'object_name': 'Document'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'path': ('django.db.models.fields.CharField', [], {'max_length': '500'}), - 'release': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'documents'", 'to': "orm['docs.DocumentRelease']"}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - 'docs.documentrelease': { - 'Meta': {'object_name': 'DocumentRelease'}, - 'docs_subdir': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_default': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'lang': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '2'}), - 'scm': ('django.db.models.fields.CharField', [], {'max_length': '10'}), - 'scm_url': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'version': ('django.db.models.fields.CharField', [], {'max_length': '20'}) - } - } - - complete_apps = ['docs'] diff --git a/docs/migrations/0005_add_unicity_constaints.py b/docs/migrations/0005_add_unicity_constaints.py deleted file mode 100644 index 62a2dd06ad..0000000000 --- a/docs/migrations/0005_add_unicity_constaints.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - - def forwards(self, orm): - # Adding unique constraint on 'DocumentRelease', fields ['lang', 'version'] - db.create_unique(u'docs_documentrelease', ['lang', 'version']) - - # Adding unique constraint on 'Document', fields ['release', 'path'] - db.create_unique(u'docs_document', ['release_id', 'path']) - - - def backwards(self, orm): - # Removing unique constraint on 'Document', fields ['release', 'path'] - db.delete_unique(u'docs_document', ['release_id', 'path']) - - # Removing unique constraint on 'DocumentRelease', fields ['lang', 'version'] - db.delete_unique(u'docs_documentrelease', ['lang', 'version']) - - - models = { - u'docs.document': { - 'Meta': {'unique_together': "(('release', 'path'),)", 'object_name': 'Document'}, - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'path': ('django.db.models.fields.CharField', [], {'max_length': '500'}), - 'release': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'documents'", 'to': u"orm['docs.DocumentRelease']"}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) - }, - u'docs.documentrelease': { - 'Meta': {'unique_together': "(('lang', 'version'),)", 'object_name': 'DocumentRelease'}, - 'docs_subdir': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), - u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_default': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'lang': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '2'}), - 'scm': ('django.db.models.fields.CharField', [], {'max_length': '10'}), - 'scm_url': ('django.db.models.fields.CharField', [], {'max_length': '200'}), - 'version': ('django.db.models.fields.CharField', [], {'max_length': '20'}) - } - } - - complete_apps = ['docs'] \ No newline at end of file diff --git a/legacy/models.py b/legacy/models.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/releases/migrations/0001_initial.py b/releases/migrations/0001_initial.py index 942bcde989..e7b94bc605 100644 --- a/releases/migrations/0001_initial.py +++ b/releases/migrations/0001_initial.py @@ -1,32 +1,30 @@ # -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - - def forwards(self, orm): - # Adding model 'Release' - db.create_table(u'releases_release', ( - ('version', self.gf('django.db.models.fields.CharField')(max_length=16, primary_key=True)), - ('date', self.gf('django.db.models.fields.DateField')(null=True)), - )) - db.send_create_signal(u'releases', ['Release']) - - - def backwards(self, orm): - # Deleting model 'Release' - db.delete_table(u'releases_release') +from __future__ import unicode_literals +from django.db import models, migrations +import datetime - models = { - u'releases.release': { - 'Meta': {'object_name': 'Release'}, - 'date': ('django.db.models.fields.DateField', [], {'null': 'True'}), - 'version': ('django.db.models.fields.CharField', [], {'max_length': '16', 'primary_key': 'True'}) - } - } - complete_apps = ['releases'] +class Migration(migrations.Migration): + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Release', + fields=[ + ('version', models.CharField(max_length=16, serialize=False, primary_key=True)), + ('date', models.DateField(default=datetime.date.today)), + ('major', models.PositiveSmallIntegerField(editable=False)), + ('minor', models.PositiveSmallIntegerField(editable=False)), + ('micro', models.PositiveSmallIntegerField(editable=False)), + ('status', models.CharField(max_length=1, editable=False, choices=[('a', 'alpha'), ('b', 'beta'), ('c', 'rc'), ('f', 'final')])), + ('iteration', models.PositiveSmallIntegerField(editable=False)), + ('is_lts', models.BooleanField(default=False, verbose_name='Long term support release')), + ], + options={ + }, + bases=(models.Model,), + ), + ] diff --git a/releases/migrations/0002_auto__chg_field_release_date.py b/releases/migrations/0002_auto__chg_field_release_date.py deleted file mode 100644 index 3668c04edf..0000000000 --- a/releases/migrations/0002_auto__chg_field_release_date.py +++ /dev/null @@ -1,28 +0,0 @@ -# -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Changing field 'Release.date' - db.alter_column(u'releases_release', 'date', self.gf('django.db.models.fields.DateField')()) - - def backwards(self, orm): - - # Changing field 'Release.date' - db.alter_column(u'releases_release', 'date', self.gf('django.db.models.fields.DateField')(null=True)) - - models = { - u'releases.release': { - 'Meta': {'object_name': 'Release'}, - 'date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), - 'version': ('django.db.models.fields.CharField', [], {'max_length': '16', 'primary_key': 'True'}) - } - } - - complete_apps = ['releases'] diff --git a/releases/migrations/0003_auto__add_fields_release_tuple.py b/releases/migrations/0003_auto__add_fields_release_tuple.py deleted file mode 100644 index af6dd89ff7..0000000000 --- a/releases/migrations/0003_auto__add_fields_release_tuple.py +++ /dev/null @@ -1,73 +0,0 @@ -# -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - - def forwards(self, orm): - # Adding field 'Release.major' - db.add_column(u'releases_release', 'major', - self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0), - keep_default=False) - - # Adding field 'Release.minor' - db.add_column(u'releases_release', 'minor', - self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0), - keep_default=False) - - # Adding field 'Release.micro' - db.add_column(u'releases_release', 'micro', - self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0), - keep_default=False) - - # Adding field 'Release.status' - db.add_column(u'releases_release', 'status', - self.gf('django.db.models.fields.CharField')(default='', max_length=1), - keep_default=False) - - # Adding field 'Release.iteration' - db.add_column(u'releases_release', 'iteration', - self.gf('django.db.models.fields.PositiveSmallIntegerField')(default=0), - keep_default=False) - - - # Changing field 'Release.date' - db.alter_column(u'releases_release', 'date', self.gf('django.db.models.fields.DateField')()) - - def backwards(self, orm): - # Deleting field 'Release.major' - db.delete_column(u'releases_release', 'major') - - # Deleting field 'Release.minor' - db.delete_column(u'releases_release', 'minor') - - # Deleting field 'Release.micro' - db.delete_column(u'releases_release', 'micro') - - # Deleting field 'Release.status' - db.delete_column(u'releases_release', 'status') - - # Deleting field 'Release.iteration' - db.delete_column(u'releases_release', 'iteration') - - - # Changing field 'Release.date' - db.alter_column(u'releases_release', 'date', self.gf('django.db.models.fields.DateField')(auto_now_add=True)) - - models = { - u'releases.release': { - 'Meta': {'object_name': 'Release'}, - 'date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), - 'iteration': ('django.db.models.fields.PositiveSmallIntegerField', [], {}), - 'major': ('django.db.models.fields.PositiveSmallIntegerField', [], {}), - 'micro': ('django.db.models.fields.PositiveSmallIntegerField', [], {}), - 'minor': ('django.db.models.fields.PositiveSmallIntegerField', [], {}), - 'status': ('django.db.models.fields.CharField', [], {'max_length': '1'}), - 'version': ('django.db.models.fields.CharField', [], {'max_length': '16', 'primary_key': 'True'}) - } - } - - complete_apps = ['releases'] diff --git a/releases/migrations/0004_auto__add_field_release_is_lts.py b/releases/migrations/0004_auto__add_field_release_is_lts.py deleted file mode 100644 index 8a810c15a0..0000000000 --- a/releases/migrations/0004_auto__add_field_release_is_lts.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - - def forwards(self, orm): - # Adding field 'Release.is_lts' - db.add_column(u'releases_release', 'is_lts', - self.gf('django.db.models.fields.BooleanField')(default=False), - keep_default=False) - - - def backwards(self, orm): - # Deleting field 'Release.is_lts' - db.delete_column(u'releases_release', 'is_lts') - - - models = { - u'releases.release': { - 'Meta': {'object_name': 'Release'}, - 'date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), - 'is_lts': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), - 'iteration': ('django.db.models.fields.PositiveSmallIntegerField', [], {}), - 'major': ('django.db.models.fields.PositiveSmallIntegerField', [], {}), - 'micro': ('django.db.models.fields.PositiveSmallIntegerField', [], {}), - 'minor': ('django.db.models.fields.PositiveSmallIntegerField', [], {}), - 'status': ('django.db.models.fields.CharField', [], {'max_length': '1'}), - 'version': ('django.db.models.fields.CharField', [], {'max_length': '16', 'primary_key': 'True'}) - } - } - - complete_apps = ['releases'] \ No newline at end of file diff --git a/tracdb/db_router.py b/tracdb/db_router.py index 61e578cc7a..2119a9a9ea 100644 --- a/tracdb/db_router.py +++ b/tracdb/db_router.py @@ -2,7 +2,7 @@ DB router for Trac. Very simple: just makes sure that all Trac tables are queries against the "trac" DB alias. -It's very simplistic, leaving off allow_relation and allow_syncdb since all +It's very simplistic, leaving off allow_relation and allow_migrate since all the Trac apps are unmanaged. """ from unipath import FSPath as Path @@ -17,7 +17,7 @@ def db_for_read(self, model, **hints): def db_for_write(self, model, **hints): return 'trac' if app_label(model) == THIS_APP else None - def allow_syncdb(self, db, model): + def allow_migrate(self, db, model): return False if db == 'trac' else None diff --git a/tracdb/migrations/0001_initial.py b/tracdb/migrations/0001_initial.py index b68eb1fc61..3da0ee87d0 100644 --- a/tracdb/migrations/0001_initial.py +++ b/tracdb/migrations/0001_initial.py @@ -1,28 +1,104 @@ -# encoding: utf-8 -from south.db import dbs -from south.v2 import SchemaMigration +# -*- coding: utf-8 -*- +from __future__ import unicode_literals -# -# Trac uses composite primary keys, which Django doesn't understand. -# These views fix that, for certain values of "fix." -# +from django.db import models, migrations -class Migration(SchemaMigration): - def forwards(self, orm): - db = dbs['trac'] - db.execute('''CREATE VIEW "attachment_django_view" AS - SELECT "type" || '.' || "id" || '.' || "filename" AS "django_id", * - FROM attachment;''') - db.execute('''CREATE VIEW "wiki_django_view" AS - SELECT "name" || '.' || "version" AS "django_id", * - FROM wiki;''') - # Work around a limitation of South's support for multiple databases. - # See http://south.aeracode.org/ticket/924. - db.execute('COMMIT') +class Migration(migrations.Migration): - def backwards(self, orm): - db = dbs['trac'] - db.execute('DROP VIEW "attachment_django_view";') - db.execute('DROP VIEW "wiki_django_view";') - db.execute('COMMMIT') + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Attachment', + fields=[ + ], + options={ + 'db_table': 'attachment_django_view', + 'managed': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='Component', + fields=[ + ], + options={ + 'db_table': 'component', + 'managed': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='Milestone', + fields=[ + ], + options={ + 'db_table': 'milestone', + 'managed': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='Revision', + fields=[ + ], + options={ + 'db_table': 'revision', + 'managed': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='Ticket', + fields=[ + ], + options={ + 'db_table': 'ticket', + 'managed': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='TicketChange', + fields=[ + ], + options={ + 'ordering': ['_time'], + 'db_table': 'ticket_change', + 'managed': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='TicketCustom', + fields=[ + ], + options={ + 'db_table': 'ticket_custom', + 'managed': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='Version', + fields=[ + ], + options={ + 'db_table': 'version', + 'managed': False, + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='Wiki', + fields=[ + ], + options={ + 'db_table': 'wiki_django_view', + 'managed': False, + }, + bases=(models.Model,), + ), + ] diff --git a/tracdb/migrations/0002_bouncing_tickets_view.py b/tracdb/migrations/0002_bouncing_tickets_view.py deleted file mode 100644 index 5a2b5410d2..0000000000 --- a/tracdb/migrations/0002_bouncing_tickets_view.py +++ /dev/null @@ -1,35 +0,0 @@ -from south.db import dbs -from south.v2 import SchemaMigration - -# -# Create a database view for "bouncing" tickets - tickets that change their -# state from closed back to open, possibly a number of times. -# - -class Migration(SchemaMigration): - viewname = "bouncing_tickets" - viewquery = """ - SELECT - ticket.id, - ticket.summary, - COUNT(*) AS times_reopened, - MAX(change.time) AS last_reopen_time - FROM ticket_change AS change - JOIN ticket ON change.ticket = ticket.id - WHERE - change.field = 'status' - AND change.oldvalue = 'closed' - AND change.newvalue != 'closed' - AND ticket.resolution = 'wontfix' - GROUP BY ticket.id, ticket.summary; - """ - - def forwards(self, orm): - db = dbs['trac'] - db.execute("CREATE VIEW %s AS %s" % (self.viewname, self.viewquery)) - db.execute('COMMIT') - - def backwards(self, orm): - db = dbs['trac'] - db.execute("DROP VIEW %s" % self.viewname) - db.execute('COMMIT') diff --git a/tracdb/models.py b/tracdb/models.py index d81049c2db..1ca3bc5030 100644 --- a/tracdb/models.py +++ b/tracdb/models.py @@ -236,6 +236,9 @@ def __unicode__(self): # The Wiki table uses a composite primary key (name, version). Since # Django doesn't support this, this model sits on top of a simple view. +# CREATE VIEW "wiki_django_view" AS +# SELECT "name" || '.' || "version" AS "django_id", * +# FROM wiki; class Wiki(models.Model): django_id = models.TextField(primary_key=True) name = models.TextField() @@ -258,6 +261,9 @@ def __unicode__(self): # Same story as for Wiki: attachment's PK is (type, id, filename), so again # there's a simple view this is on top of. +# CREATE VIEW "attachment_django_view" AS +# SELECT "type" || '.' || "id" || '.' || "filename" AS "django_id", * +# FROM attachment; class Attachment(models.Model): django_id = models.TextField(primary_key=True) type = models.TextField()