gpt4 book ai didi

linux - 是否有用于将 xml 模式转换为 linux 数据库模式的开源工具?

转载 作者:IT王子 更新时间:2023-10-29 00:33:16 33 4
gpt4 key购买 nike

是否有任何开源工具可以将 xml 模式转换为 linux 的数据库模式。我所需要的只是它应该读取 xml 模式,生成相应的数据库模式并用它创建表。我试着用谷歌搜索,我能找到的只有 xsd2db 及其用 c# 编写的,但对我没有用。我用的是centos,我的数据库是postgresql。任何帮助表示赞赏。提前致谢。

最佳答案

原生支持出现on the way ,但我找不到任何原生的东西。也没有找到任何合适的工具来完成这项工作。

因此,我认为这将是一个很好的周末项目,可以进一步了解 XSD。我创建了 xsd2pgsql来处理这个。它的边缘仍然很粗糙,所以我希望您尝试一下,如果遇到任何问题,请告诉我。如果您想提供帮助,也可以 fork 它。

XML 不是表示数据库的最佳格式,因为它是 3d 而 DB 几乎是 2d。所以这个脚本做了一些假设,比如 root 的所有元素子元素都是主表,之后的任何 complexType 都将是一个表。也就是说,这应该适用于大多数 XML 模式(或者至少是我测试过的少数模式)。

您可以使用-h 选项获取所有选项。但基本上,您可以为它提供 XSD 文件作为参数,您可以使用选项稍微更改行为或让它直接在您的数据库上运行 SQL。如果它是一个生产系统,我建议不要直接连接到数据库并确保 SQL 输出是否正常,并进行任何调整。

以下是存储库中示例文件的示例用法:python xsd2pgsql.py -f sample-2.xsd sample.xsd

注意:目前这不处理表/XML 复杂类型之间的任何关系/引用。您必须在事后添加这些索引和任何您想要的索引。自定义命名空间也不受支持。

希望这对您有所帮助。

关于linux - 是否有用于将 xml 模式转换为 linux 数据库模式的开源工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9312951/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com