27 _ = unicode |
27 _ = unicode |
28 |
28 |
29 from copy import copy |
29 from copy import copy |
30 from yams.schema import (BASE_TYPES, BadSchemaDefinition, |
30 from yams.schema import (BASE_TYPES, BadSchemaDefinition, |
31 RelationSchema, RelationDefinitionSchema) |
31 RelationSchema, RelationDefinitionSchema) |
32 from yams import buildobjs as ybo, schema2sql as y2sql, convert_default_value |
32 from yams import buildobjs as ybo, convert_default_value |
33 |
33 |
34 from logilab.common.decorators import clear_cache |
34 from logilab.common.decorators import clear_cache |
35 |
35 |
36 from cubicweb import validation_error |
36 from cubicweb import validation_error |
37 from cubicweb.predicates import is_instance |
37 from cubicweb.predicates import is_instance |
38 from cubicweb.schema import (SCHEMA_TYPES, META_RTYPES, VIRTUAL_RTYPES, |
38 from cubicweb.schema import (SCHEMA_TYPES, META_RTYPES, VIRTUAL_RTYPES, |
39 CONSTRAINTS, ETYPE_NAME_MAP, display_name) |
39 CONSTRAINTS, ETYPE_NAME_MAP, display_name) |
40 from cubicweb.server import hook, schemaserial as ss |
40 from cubicweb.server import hook, schemaserial as ss, schema2sql as y2sql |
41 from cubicweb.server.sqlutils import SQL_PREFIX |
41 from cubicweb.server.sqlutils import SQL_PREFIX |
42 from cubicweb.hooks.synccomputed import RecomputeAttributeOperation |
42 from cubicweb.hooks.synccomputed import RecomputeAttributeOperation |
43 |
43 |
44 # core entity and relation types which can't be removed |
44 # core entity and relation types which can't be removed |
45 CORE_TYPES = BASE_TYPES | SCHEMA_TYPES | META_RTYPES | set( |
45 CORE_TYPES = BASE_TYPES | SCHEMA_TYPES | META_RTYPES | set( |