diff roundup/backends/rdbms_common.py @ 2727:93e2e5b55a3c

new Interval props weren't created properly in rdbms (also, fix logging datestamp)
author Richard Jones <richard@users.sourceforge.net>
date Fri, 08 Oct 2004 00:18:28 +0000
parents 1cd01cf106e1
children 7c472ed6babf
line wrap: on
line diff
--- a/roundup/backends/rdbms_common.py	Thu Oct 07 23:38:44 2004 +0000
+++ b/roundup/backends/rdbms_common.py	Fri Oct 08 00:18:28 2004 +0000
@@ -1,4 +1,4 @@
-# $Id: rdbms_common.py,v 1.133 2004-10-07 06:30:20 richard Exp $
+# $Id: rdbms_common.py,v 1.134 2004-10-08 00:18:28 richard Exp $
 ''' Relational database (SQL) backend common code.
 
 Basics:
@@ -378,7 +378,11 @@
             # no changes
             return 0
 
-        self.config.logging.getLogger('hyperdb').info('update_class %s'%spec.classname)
+        logger = self.config.logging.getLogger('hyperdb')
+        logger.info('update_class %s'%spec.classname)
+
+        logger.debug('old_spec %r'%(old_spec,))
+        logger.debug('new_spec %r'%(new_spec,))
 
         # detect key prop change for potential index change
         keyprop_changes = {}
@@ -424,10 +428,18 @@
             if isinstance(prop, Multilink):
                 self.create_multilink_table(spec, propname)
             else:
-                sql = 'alter table _%s add column _%s varchar(255)'%(
-                    spec.classname, propname)
+                # add the column
+                coltype = self.hyperdb_to_sql_datatypes[prop.__class__]
+                sql = 'alter table _%s add column _%s %s'%(
+                    spec.classname, propname, coltype)
                 self.sql(sql)
 
+                # extra Interval column
+                if isinstance(prop, Interval):
+                    sql = 'alter table _%s add column __%s_int__ BIGINT'%(
+                        spec.classname, propname)
+                    self.sql(sql)
+
                 # if the new column is a key prop, we need an index!
                 if new_spec[0] == propname:
                     self.create_class_table_key_index(spec.classname, propname)

Roundup Issue Tracker: http://roundup-tracker.org/