self.end()
class CollectionsCollectorNormalizer(DataMigrator):
- """Migrate collector_is_creator flag"""
+ """Migrate collector_is_creator flag and empty unsignificant creator/collector"""
implements(IDataMigrator)
return "collections:collector"
def process(self):
- self.start()
- self.target_cursor.execute("UPDATE media_collections SET collector_is_creator = 0")
- self.target_cursor.execute("UPDATE media_collections SET collector_is_creator = (collector IN ('=', '=+N', 'ID' 'ID.' 'IDE.' 'IDEM'))")
+ self.start(3)
+ self.target_cursor.execute("UPDATE media_collections SET collector_is_creator = 1, collector = '' "
+ "WHERE collector IN ('=', '=+N', 'ID', 'ID.', 'IDE.', 'IDEM') ")
self.stats['flagged'] = self.target_cursor.rowcount
+ self.step(1)
+ self.target_cursor.execute("UPDATE media_collections SET collector = '' WHERE collector IN ('N', 'ND', '?', '+')")
+ self.stats['emptied_collector'] = self.stats['flagged'] + self.target_cursor.rowcount
+ self.step(2)
+ self.target_cursor.execute("UPDATE media_collections SET creator = '' WHERE creator IN ('N', ' N', '?', ' ')")
+ self.stats['emptied_creator'] = self.target_cursor.rowcount
+ self.step(3)
self.end()
class CollectionsPublishedStateMigrator(DataMigrator):
self.target("SET foreign_key_checks = 1")
self.end()
+class ItemsCollectorNormalizer(DataMigrator):
+ """Migrate collector_from_collection flag and empty unsignificant collector"""
+
+ implements(IDataMigrator)
+
+ def get_name(self):
+ return "items:collector"
+
+ def process(self):
+ self.start(2)
+ self.target_cursor.execute("UPDATE media_items SET collector_from_collection = 1, collector = '' "
+ "WHERE collector = '=' ")
+ self.stats['flagged'] = self.target_cursor.rowcount
+ self.step(1)
+ self.target_cursor.execute("UPDATE media_items SET collector = '' WHERE collector IN ('*', '-', '-1', 'N', 'ND')")
+ self.stats['emptied_collector'] = self.stats['flagged'] + self.target_cursor.rowcount
+ self.step(2)
+ self.end()