diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2012-03-14 16:00:53 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2012-03-14 16:00:53 -0500 |
commit | d87ed21ac4304bb2bf2dc5d70c3fca99aeb1e089 (patch) | |
tree | ec0fec41d56b87eb75e914a3dede2bce68cb2ad1 /mediagoblin/db/mongo/migrations.py | |
parent | 0e93443f59f61522daeecc5b4f32b2fffc7cd474 (diff) | |
parent | 36ccc57bea30d1a437e673a01e8032a667040962 (diff) | |
download | mediagoblin-d87ed21ac4304bb2bf2dc5d70c3fca99aeb1e089.tar.lz mediagoblin-d87ed21ac4304bb2bf2dc5d70c3fca99aeb1e089.tar.xz mediagoblin-d87ed21ac4304bb2bf2dc5d70c3fca99aeb1e089.zip |
Merge branch 'master' of gitorious.org:mediagoblin/mediagoblin
Diffstat (limited to 'mediagoblin/db/mongo/migrations.py')
-rw-r--r-- | mediagoblin/db/mongo/migrations.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/mediagoblin/db/mongo/migrations.py b/mediagoblin/db/mongo/migrations.py index c5766b0d..23cf5e45 100644 --- a/mediagoblin/db/mongo/migrations.py +++ b/mediagoblin/db/mongo/migrations.py @@ -153,3 +153,21 @@ def convert_video_media_data(database): assert len(document['media_data']) == 1 document['media_data'] = document['media_data']['video'] collection.save(document) + +@RegisterMigration(11) +def convert_gps_media_data(database): + """ + Move media_data["gps"]["*"] to media_data["gps_*"]. + In preparation for media_data.gps_* + """ + collection = database['media_entries'] + target = collection.find( + {'media_data.gps': {'$exists': True}}) + + for document in target: + print document['_id'], "old:", document['media_data'] + for key, value in document['media_data']['gps'].iteritems(): + document['media_data']['gps_' + key] = value + del document['media_data']['gps'] + print document['_id'], "new:", document['media_data'] + collection.save(document) |