[schema deserialization] enhance fix done in 7010:fa707848a88a to properly deal with cw 3.9 database stable
authorSylvain Thénault <sylvain.thenault@logilab.fr>
Thu, 17 Feb 2011 18:23:41 +0100
branchstable
changeset 7011 f6ec6de03be6
parent 7010 fa707848a88a
child 7012 5ff6cb8bd2b3
[schema deserialization] enhance fix done in 7010:fa707848a88a to properly deal with cw 3.9 database
server/schemaserial.py
--- a/server/schemaserial.py	Thu Feb 17 17:46:10 2011 +0100
+++ b/server/schemaserial.py	Thu Feb 17 18:23:41 2011 +0100
@@ -235,7 +235,14 @@
             uniquecstreid, eeid, releid = values
             eschema = schema.schema_by_eid(eeid)
             relations = unique_togethers.setdefault(uniquecstreid, (eschema, []))
-            relations[1].append(str(ertidx[releid]))
+            rel = ertidx[releid]
+            if isinstance(rel, schemamod.RelationSchema):
+                rtype = rel.type
+            else:
+                # not yet migrated 3.9 database ('relations' target type changed
+                # to CWRType in 3.10)
+                rtype = rel.rtype.type
+            relations[1].append(rtype)
         for eschema, unique_together in unique_togethers.itervalues():
             eschema._unique_together.append(tuple(sorted(unique_together)))
     schema.infer_specialization_rules()