aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/mongo/migrations.py
diff options
context:
space:
mode:
authorJef van Schendel <mail@jefvanschendel.nl>2012-02-21 17:43:05 +0100
committerJef van Schendel <mail@jefvanschendel.nl>2012-02-21 17:43:05 +0100
commitaa8804719c7930181aa7a0af41ca5b983fdf5be4 (patch)
treeba3f8a30d3b72e6b29bdd71823df2c33d4bb2b27 /mediagoblin/db/mongo/migrations.py
parent6c2e57304c302acfc005686515ce91d91727dd8d (diff)
parent99812bbc4a76735824708b341ea283f09a1b423c (diff)
downloadmediagoblin-aa8804719c7930181aa7a0af41ca5b983fdf5be4.tar.lz
mediagoblin-aa8804719c7930181aa7a0af41ca5b983fdf5be4.tar.xz
mediagoblin-aa8804719c7930181aa7a0af41ca5b983fdf5be4.zip
Resolve merge conflicts
Diffstat (limited to 'mediagoblin/db/mongo/migrations.py')
-rw-r--r--mediagoblin/db/mongo/migrations.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/mediagoblin/db/mongo/migrations.py b/mediagoblin/db/mongo/migrations.py
index 261e21a5..59035f3b 100644
--- a/mediagoblin/db/mongo/migrations.py
+++ b/mediagoblin/db/mongo/migrations.py
@@ -29,6 +29,16 @@ def add_table_field(db, table_name, field_name, default_value):
multi=True)
+def drop_table_field(db, table_name, field_name):
+ """
+ Drop an old field from a table/collection
+ """
+ db[table_name].update(
+ {field_name: {'$exists': True}},
+ {'$unset': {field_name: 1}},
+ multi=True)
+
+
# Please see mediagoblin/tests/test_migrations.py for some examples of
# basic migrations.
@@ -115,3 +125,17 @@ def mediaentry_add_license(database):
Add the 'license' field for entries that don't have it.
"""
add_table_field(database, 'media_entries', 'license', None)
+
+
+@RegisterMigration(9)
+def remove_calculated_html(database):
+ """
+ Drop pre-rendered html again and calculate things
+ on the fly (and cache):
+ - User.bio_html
+ - MediaEntry.description_html
+ - MediaComment.content_html
+ """
+ drop_table_field(database, 'users', 'bio_html')
+ drop_table_field(database, 'media_entries', 'description_html')
+ drop_table_field(database, 'media_comments', 'content_html')