summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2012-04-20 10:36:20 -0500
committerDan McGee <dan@archlinux.org>2012-04-20 11:15:03 -0500
commitc3a5f8a4e83983a352c45eeaa550cad315dddcb7 (patch)
treebfb9e4dab98d3d61d86b912c20d86edaf9476176
parentd21d8be0186413fe1fa5fd6c859786465472ee10 (diff)
downloadarchweb-c3a5f8a4e83983a352c45eeaa550cad315dddcb7.tar.gz
archweb-c3a5f8a4e83983a352c45eeaa550cad315dddcb7.zip
Fix ContentType related migrations
This should fix the issues reported in FS#23228 for the most part. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--main/migrations/0030_move_mirror_models.py4
-rw-r--r--main/migrations/0031_move_news_out.py4
-rw-r--r--main/migrations/0034_update_content_type.py26
-rw-r--r--mirrors/migrations/0002_rename_model_tables.py21
-rw-r--r--news/migrations/0002_move_news_in.py11
5 files changed, 33 insertions, 33 deletions
diff --git a/main/migrations/0030_move_mirror_models.py b/main/migrations/0030_move_mirror_models.py
index 998ff6a2..1fe0c7e9 100644
--- a/main/migrations/0030_move_mirror_models.py
+++ b/main/migrations/0030_move_mirror_models.py
@@ -6,10 +6,6 @@ from django.db import models
class Migration(SchemaMigration):
- depends_on = (
- ('mirrors', '0002_rename_model_tables'),
- )
-
def forwards(self, orm):
pass
diff --git a/main/migrations/0031_move_news_out.py b/main/migrations/0031_move_news_out.py
index a730f4f3..28f4b750 100644
--- a/main/migrations/0031_move_news_out.py
+++ b/main/migrations/0031_move_news_out.py
@@ -6,10 +6,6 @@ from django.db import models
class Migration(SchemaMigration):
- depends_on = (
- ('news', '0002_move_news_in'),
- )
-
def forwards(self, orm):
pass
diff --git a/main/migrations/0034_update_content_type.py b/main/migrations/0034_update_content_type.py
index 779021da..59c6f6ad 100644
--- a/main/migrations/0034_update_content_type.py
+++ b/main/migrations/0034_update_content_type.py
@@ -5,31 +5,15 @@ from south.v2 import DataMigration
from django.db import models
class Migration(DataMigration):
-
- depends_on = (
- ('mirrors', '0002_rename_model_tables'),
- ('news', '0002_move_news_in'),
- )
-
- mirror_apps = [ 'mirror', 'mirrorprotocol', 'mirrorurl', 'mirrorrsync' ]
+ '''This is a defunct migration now, things have been moved to their proper
+ places, but removing it would cause all existing setups migrated past this
+ to complain.'''
def forwards(self, orm):
- ct = orm['contenttypes.ContentType'].objects
-
- # somehow these got in there already; remove them in favor of the old
- ct.filter(app_label='news').delete()
- ct.filter(app_label='mirrors').delete()
-
- ct.filter(app_label='main', model='news').update(app_label='news')
- ct.filter(app_label='main', model__in=self.mirror_apps).update(
- app_label='mirrors')
+ pass
def backwards(self, orm):
- ct = orm['contenttypes.ContentType'].objects
-
- ct.filter(app_label='mirrors', model__in=self.mirror_apps).update(
- app_label='main')
- ct.filter(app_label='news', model='news').update(app_label='main')
+ pass
models = {
'auth.group': {
diff --git a/mirrors/migrations/0002_rename_model_tables.py b/mirrors/migrations/0002_rename_model_tables.py
index d510bada..087edd68 100644
--- a/mirrors/migrations/0002_rename_model_tables.py
+++ b/mirrors/migrations/0002_rename_model_tables.py
@@ -7,21 +7,33 @@ from django.db import models
class Migration(SchemaMigration):
depends_on = (
- ('main', '0014_mirror_notes_rsync_optional'),
+ ('main', '0030_move_mirror_models'),
)
+ mirror_apps = [ 'mirror', 'mirrorprotocol', 'mirrorurl', 'mirrorrsync' ]
+
def forwards(self, orm):
db.rename_table('main_mirror', 'mirrors_mirror')
db.rename_table('main_mirrorurl', 'mirrors_mirrorurl')
db.rename_table('main_mirrorrsync', 'mirrors_mirrorrsync')
db.rename_table('main_mirrorprotocol', 'mirrors_mirrorprotocol')
+ if not db.dry_run:
+ ct = orm['contenttypes.ContentType'].objects
+ ct.filter(app_label='main', model__in=self.mirror_apps).update(
+ app_label='mirrors')
+
def backwards(self, orm):
db.rename_table('mirrors_mirror', 'main_mirror')
db.rename_table('mirrors_mirrorurl', 'main_mirrorurl')
db.rename_table('mirrors_mirrorrsync', 'main_mirrorrsync')
db.rename_table('mirrors_mirrorprotocol', 'main_mirrorprotocol')
+ if not db.dry_run:
+ ct = orm['contenttypes.ContentType'].objects
+ ct.filter(app_label='mirrors', model__in=self.mirror_apps).update(
+ app_label='main')
+
models = {
'mirrors.mirror': {
'Meta': {'ordering': "('country', 'name')", 'object_name': 'Mirror'},
@@ -55,6 +67,13 @@ class Migration(SchemaMigration):
'mirror': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'urls'", 'to': "orm['mirrors.Mirror']"}),
'protocol': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'urls'", 'to': "orm['mirrors.MirrorProtocol']"}),
'url': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ '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'})
}
}
diff --git a/news/migrations/0002_move_news_in.py b/news/migrations/0002_move_news_in.py
index d6dafad4..43d68df4 100644
--- a/news/migrations/0002_move_news_in.py
+++ b/news/migrations/0002_move_news_in.py
@@ -7,14 +7,19 @@ from django.db import models
class Migration(SchemaMigration):
depends_on = (
- ('main', '0001_initial'),
+ ('main', '0031_move_news_out'),
)
def forwards(self, orm):
- pass
+ db.send_create_signal('news', ['News'])
+ if not db.dry_run:
+ ct = orm['contenttypes.ContentType'].objects
+ ct.filter(app_label='main', model='news').update(app_label='news')
def backwards(self, orm):
- pass
+ if not db.dry_run:
+ ct = orm['contenttypes.ContentType'].objects
+ ct.filter(app_label='news', model='news').update(app_label='main')
models = {
'auth.group': {