По умолчанию появляется , но я не могу найти ничего нативного.Также не найти каких-либо достойных инструментов, чтобы сделать работу.
Итак, я подумал, что это будет отличный проект выходного дня, чтобы узнать немного больше о XSD.Я создал xsd2pgsql , чтобы справиться с этим.Это все еще довольно грубо по краям, поэтому я хотел бы, чтобы вы попробовали это и сообщили мне о любых ваших проблемах.Или раскошелиться, если вы хотите помочь.
XML - не самый лучший формат для представления базы данных, так как это 3d, а БД в значительной степени 2d.Таким образом, этот сценарий делает некоторые предположения, так как все дочерние элементы root являются основной таблицей, а любой complexType после этого будет таблицей.Тем не менее, это должно работать на большинстве XML-схем (или, по крайней мере, на нескольких, которые я тестировал).
Вы можете получить все опции с опцией -h
.Но, в основном, вы можете предоставить ему файлы XSD в качестве аргументов, и вы можете использовать опции, чтобы немного изменить поведение или заставить его запускать SQL непосредственно в вашей БД.Если это производственная система, я бы порекомендовал не подключаться напрямую к БД и убедиться, что вывод SQL хорош или нет, и вносить какие-либо корректировки.
Вот пример использования с примерами файлов врепозиторий: python xsd2pgsql.py -f sample-2.xsd sample.xsd
ПРИМЕЧАНИЕ : В настоящее время не обрабатываются какие-либо связи / ссылки между таблицами / сложными типами XML.Вам придется добавить эти и любые индексы, которые вы хотите после факта.Пользовательские пространства имен пока не поддерживаются.
Надеюсь, это поможет.