]> git.parisson.com Git - telemeta-data.git/commitdiff
migration: direct mysql warnings to logfile
authorolivier <olivier@3bf09e05-f825-4182-b9bc-eedd7160adf0>
Mon, 6 Jul 2009 22:45:13 +0000 (22:45 +0000)
committerolivier <olivier@3bf09e05-f825-4182-b9bc-eedd7160adf0>
Mon, 6 Jul 2009 22:45:13 +0000 (22:45 +0000)
git-svn-id: http://svn.parisson.org/svn/crem@115 3bf09e05-f825-4182-b9bc-eedd7160adf0

trunk/import/migration/tasks/core.py
trunk/import/migration/tasks/items.py

index c7584b035b8f081a75b6655a36a2255838919876..dd3dbdc8dad870a8ff3435248b6c5caa3e6a358c 100644 (file)
@@ -36,7 +36,8 @@ from telemeta.core import *
 from datetime import date
 from sys import stdout
 import time
-
+import warnings
+import _mysql_exceptions
 class DataMigrationTask(Component):
     
     def setup(self, cfg, src_db, target_db, logger):
@@ -50,10 +51,20 @@ class DataMigrationTask(Component):
         self.logger = logger;
 
     def src(self, query, args = None):
-        self.src_cursor.execute(query, args)
+        warnings.simplefilter("error")
+        try:
+            self.src_cursor.execute(query, args)
+        except _mysql_exceptions.Warning, e:
+            self.warn("MySQL warning: " + str(e))
+        warnings.resetwarnings()
 
     def target(self, query, args = None):
-        self.target_cursor.execute(query, args)
+        warnings.simplefilter("error")
+        try:
+            self.target_cursor.execute(query, args)
+        except _mysql_exceptions.Warning, e:
+            self.warn("MySQL warning: " + str(e))
+        warnings.resetwarnings()
 
     def step(self, position = -1):
         self.logger.progress(position)
index 9eecbf66bc9121e573f3b2269b146a2f40cd94b7..95e9d44f85aeb46a0a741167e3f7c8b3d7466cb9 100644 (file)
@@ -34,8 +34,6 @@
 from telemeta.core import *
 from api import IDataMigrator
 from core import DataMigrator, EnumMapper
-from _mysql_exceptions import IntegrityError
-from MySQLdb.constants.ER import DUP_ENTRY
 
 class ItemsCopyMigrator(DataMigrator):
     """Perform a preliminary raw copy of the item table"""
@@ -80,7 +78,7 @@ class ItemsCopyMigrator(DataMigrator):
                     ",\n  ".join(src_fields),
                     self.src_db_name)
 
-        self.target_cursor.execute(query)
+        self.target(query)
 
         self.target_cursor.execute("SELECT COUNT(*) FROM media_items")
         self.stats['imported'] = self.target_cursor.fetchone()[0]