[schema serialization] for relation type, ertidx contains the relation type as string, for relation def, the RelationDefinitionSchema instance
--- a/server/schemaserial.py Thu Feb 17 18:23:41 2011 +0100
+++ b/server/schemaserial.py Thu Feb 17 18:43:45 2011 +0100
@@ -236,12 +236,12 @@
eschema = schema.schema_by_eid(eeid)
relations = unique_togethers.setdefault(uniquecstreid, (eschema, []))
rel = ertidx[releid]
- if isinstance(rel, schemamod.RelationSchema):
- rtype = rel.type
- else:
+ if isinstance(rel, schemamod.RelationDefinitionSchema):
# not yet migrated 3.9 database ('relations' target type changed
# to CWRType in 3.10)
rtype = rel.rtype.type
+ else:
+ rtype = str(rel)
relations[1].append(rtype)
for eschema, unique_together in unique_togethers.itervalues():
eschema._unique_together.append(tuple(sorted(unique_together)))