diff roundup/backends/back_sqlite.py @ 4774:3adff0fb0207

Fixed issue2550595: Allow migrating from roundup 0.x to 1.4 All changes were required to make an upgrade from 0.6 to 1.4, The changes affecting "retired" were required for an upgrade from 0.8 to 1.4.
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 22 Mar 2013 15:53:27 +0100
parents 67bef70ab9b9
children e424987d294a
line wrap: on
line diff
--- a/roundup/backends/back_sqlite.py	Fri Mar 22 12:09:12 2013 +0100
+++ b/roundup/backends/back_sqlite.py	Fri Mar 22 15:53:27 2013 +0100
@@ -254,7 +254,7 @@
         self.create_class_table(spec)
 
         if olddata:
-            inscols = ['id', '_actor', '_activity', '_creation', '_creator']
+            inscols = ['id', '_actor', '_activity', '_creation', '_creator', '__retired__']
             for propname,x in new_spec[1]:
                 prop = properties[propname]
                 if isinstance(prop, hyperdb.Multilink):
@@ -273,6 +273,7 @@
             sql = 'insert into _%s (%s) values (%s)'%(cn, cols, args)
             for entry in olddata:
                 d = []
+                retired_id = None
                 for name in inscols:
                     # generate the new value for the Interval int column
                     if name.endswith('_int__'):
@@ -295,6 +296,10 @@
                         v = entry[name]
                     else:
                         v = None
+                    if name == 'id':
+                        retired_id = v
+                    elif name == '__retired__' and retired_id and v not in ['0', 0]:
+                        v = retired_id
                     d.append(v)
                 self.sql(sql, tuple(d))
 

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