Как описать класс, индекс или другой объект в OrientDB SQL?

По сути, что является «противоположностью» CREATE CLASS (или CREATE чего-либо) в ODB SQL? Большинство/все другие базы данных, подобные SQL/SQL, предоставляют способ описания объекта базы данных с точки зрения команды SQL, необходимой для его создания, но я не могу найти ничего об этом в документах ODB. Что использует Studio, когда вы щелкаете класс в диспетчере схем? В конечном итоге я ищу способ создать команду CREATE из существующего объекта базы данных, используя ODB SQL.


person eric    schedule 06.10.2018    source источник


Ответы (1)


Схема OrientDB может быть запрошена для получения информации о классах:

https://orientdb.com/docs/last/SQL.html#query-metadata

Информация о занятиях:

select expand(classes) from metadata:schema

Информация об одном классе:

select expand(properties) from (
   select expand(classes) from metadata:schema
) where name = 'MyClassName'

Также можно получить метаданные об проиндексированном:

select expand(indexes) from metadata:indexmanager
person Roberto Franchini    schedule 08.10.2018
comment
Да, я знаю о классе метаданных, но его выходные данные нельзя использовать для немедленного воссоздания базовых объектов схемы. На что я надеялся, так это на двустороннее решение, когда ODB может описывать свои объекты схемы в терминах, которые можно использовать для их воссоздания. - person eric; 09.10.2018
comment
В связи с этим я рассматриваю внутренний проект по разработке инструмента, который будет использовать результаты метаданных для воссоздания базовых объектов схемы. Если мы закончим этим, я буду рад сделать это доступным для сообщества ODB. - person eric; 09.10.2018