equal
deleted
inserted
replaced
62 def _update_database(schema, sqlcu): |
62 def _update_database(schema, sqlcu): |
63 """3.2.0 migration function: update database schema by adding SQL_PREFIX to |
63 """3.2.0 migration function: update database schema by adding SQL_PREFIX to |
64 entity type tables and columns |
64 entity type tables and columns |
65 """ |
65 """ |
66 for etype in schema.entities(): |
66 for etype in schema.entities(): |
67 if etype.is_final(): |
67 if etype.final: |
68 continue |
68 continue |
69 try: |
69 try: |
70 sql = 'ALTER TABLE %s RENAME TO cw_%s' % ( |
70 sql = 'ALTER TABLE %s RENAME TO cw_%s' % ( |
71 etype, ETYPE_NAME_MAP.get(etype, etype)) |
71 etype, ETYPE_NAME_MAP.get(etype, etype)) |
72 print sql |
72 print sql |
74 except: |
74 except: |
75 pass |
75 pass |
76 for rschema in etype.subject_relations(): |
76 for rschema in etype.subject_relations(): |
77 if rschema == 'has_text': |
77 if rschema == 'has_text': |
78 continue |
78 continue |
79 if rschema.is_final() or rschema.inlined: |
79 if rschema.final or rschema.inlined: |
80 sql = 'ALTER TABLE cw_%s RENAME %s TO cw_%s' % ( |
80 sql = 'ALTER TABLE cw_%s RENAME %s TO cw_%s' % ( |
81 etype, rschema, rschema) |
81 etype, rschema, rschema) |
82 print sql |
82 print sql |
83 sqlcu.execute(sql) |
83 sqlcu.execute(sql) |
84 |
84 |
324 desc = unicode(erschema.description) or u'' |
324 desc = unicode(erschema.description) or u'' |
325 except UnicodeDecodeError, e: |
325 except UnicodeDecodeError, e: |
326 raise Exception("can't decode %s [was %s]" % (erschema.description, e)) |
326 raise Exception("can't decode %s [was %s]" % (erschema.description, e)) |
327 return { |
327 return { |
328 'name': type_, |
328 'name': type_, |
329 'final': erschema.is_final(), |
329 'final': erschema.final, |
330 'description': desc, |
330 'description': desc, |
331 } |
331 } |
332 |
332 |
333 def eschema_relations_values(eschema): |
333 def eschema_relations_values(eschema): |
334 values = _ervalues(eschema) |
334 values = _ervalues(eschema) |
338 # XXX 2.47 migration |
338 # XXX 2.47 migration |
339 HAS_FULLTEXT_CONTAINER = True |
339 HAS_FULLTEXT_CONTAINER = True |
340 |
340 |
341 def rschema_relations_values(rschema): |
341 def rschema_relations_values(rschema): |
342 values = _ervalues(rschema) |
342 values = _ervalues(rschema) |
343 values['final'] = rschema.is_final() |
343 values['final'] = rschema.final |
344 values['symetric'] = rschema.symetric |
344 values['symetric'] = rschema.symetric |
345 values['inlined'] = rschema.inlined |
345 values['inlined'] = rschema.inlined |
346 if HAS_FULLTEXT_CONTAINER: |
346 if HAS_FULLTEXT_CONTAINER: |
347 if isinstance(rschema.fulltext_container, str): |
347 if isinstance(rschema.fulltext_container, str): |
348 values['fulltext_container'] = unicode(rschema.fulltext_container) |
348 values['fulltext_container'] = unicode(rschema.fulltext_container) |
400 else: |
400 else: |
401 _props = props |
401 _props = props |
402 # don't serialize infered relations |
402 # don't serialize infered relations |
403 if _props.get('infered'): |
403 if _props.get('infered'): |
404 continue |
404 continue |
405 gen = genmap[rschema.is_final()] |
405 gen = genmap[rschema.final] |
406 for rql, values in gen(rschema, subjtype, objtype, _props): |
406 for rql, values in gen(rschema, subjtype, objtype, _props): |
407 yield rql, values |
407 yield rql, values |
408 |
408 |
409 |
409 |
410 def schema2rql(schema, skip=None, allow=None): |
410 def schema2rql(schema, skip=None, allow=None): |