200 constraints=constraints, |
200 constraints=constraints, |
201 indexed=idx, fulltextindexed=ftidx, |
201 indexed=idx, fulltextindexed=ftidx, |
202 internationalizable=i18n, |
202 internationalizable=i18n, |
203 default=default, eid=rdefeid) |
203 default=default, eid=rdefeid) |
204 rdefs = schema.add_relation_def(rdef) |
204 rdefs = schema.add_relation_def(rdef) |
205 set_perms(rdefs, permsdict.get(rdefeid, {})) |
205 # rdefs can be None on duplicated relation definitions (e.g. symetrics) |
|
206 if rdefs: |
|
207 set_perms(rdefs, permsdict.get(rdefeid, {})) |
206 for values in session.execute( |
208 for values in session.execute( |
207 'Any X,SE,RT,OE,CARD,ORD,DESC,C WHERE X is CWRelation, X relation_type RT,' |
209 'Any X,SE,RT,OE,CARD,ORD,DESC,C WHERE X is CWRelation, X relation_type RT,' |
208 'X cardinality CARD, X ordernum ORD, X description DESC, ' |
210 'X cardinality CARD, X ordernum ORD, X description DESC, ' |
209 'X from_entity SE, X to_entity OE, X composite C', build_descr=False): |
211 'X from_entity SE, X to_entity OE, X composite C', build_descr=False): |
210 rdefeid, seid, reid, teid, card, ord, desc, c = values |
212 rdefeid, seid, reid, teid, card, ord, desc, c = values |
215 rdef = ybo.RelationDefinition(frometype, rtype, toetype, cardinality=card, |
217 rdef = ybo.RelationDefinition(frometype, rtype, toetype, cardinality=card, |
216 order=ord, description=desc, |
218 order=ord, description=desc, |
217 composite=c, constraints=constraints, |
219 composite=c, constraints=constraints, |
218 eid=rdefeid) |
220 eid=rdefeid) |
219 rdefs = schema.add_relation_def(rdef) |
221 rdefs = schema.add_relation_def(rdef) |
220 set_perms(rdefs, permsdict.get(rdefeid, {})) |
222 # rdefs can be None on duplicated relation definitions (e.g. symetrics) |
|
223 if rdefs: |
|
224 set_perms(rdefs, permsdict.get(rdefeid, {})) |
221 schema.infer_specialization_rules() |
225 schema.infer_specialization_rules() |
222 if _3_2_migration: |
226 if _3_2_migration: |
223 _update_database(schema, sqlcu) |
227 _update_database(schema, sqlcu) |
224 _set_sql_prefix('cw_') |
228 _set_sql_prefix('cw_') |
225 session.commit() |
229 session.commit() |