В EdgeDB я создаю множество типов, которые используют общую структуру в документации EdgeDB index on (__subject__.<prop>)
для ускорения запросов. Для моего конвейера данных я подготовил:
type Host {
required property title -> str;
multi link disks -> Disk;
multi link children -> Host;
annotation description := 'The Essilor-Luxottica host group';
index on (__subject__.title);
}
, что приводит к ошибке:
Traceback (most recent call last):
File "setup.py", line 44, in <module>
Database.build_schema()
File "setup.py", line 42, in build_schema
conn.execute(schema)
File "setup.py", line 40, in build_schema
self._protocol.sync_simple_query(query)
File "edgedb/protocol/blocking_proto.pyx", line 76, in edgedb.protocol.blocking_proto.BlockingIOProtocol.sync_simple_query
File "edgedb/protocol/blocking_proto.pyx", line 59, in edgedb.protocol.blocking_proto.BlockingIOProtocol._iter_coroutine
File "edgedb/protocol/protocol.pyx", line 456, in simple_query
edgedb.errors.EdgeQLSyntaxError: Unexpected '('
Как правильно «сделать это» без рефакторинга ~ 200 строк кодакоторые используют шаблон index on(__subject__.<prop>)
?