是否有任何开源工具将xml架构转换为linux的数据库架构.我需要的是它应该读取xml架构,生成相应的数据库架构并使用它创建表.我试着谷歌,我能找到的只是xsd2db,用c#编写,但对我没用.我正在使用centos,我的数据库是postgresql.任何帮助表示赞赏.提前致谢.
最佳答案
本机支持出现on the way,但我找不到任何原生的.也没有找到任何好的工具来完成这项工作.
原文链接:https://www.f2er.com/linux/439912.html所以,我认为这将是一个整洁的周末项目,以了解更多关于XSD.我创建了xsd2pgsql来处理这个问题.它的边缘仍然非常粗糙,所以我希望你试一试,让我知道你遇到的任何问题.如果你想帮忙,或者分叉吧.
XML不是表示数据库的最佳格式,因为它是3d,而DB几乎是2d.所以这个脚本做了一些假设,就像root的所有元素子元素都是主表格一样,之后的任何complexType都是一个表格.也就是说,这应该适用于大多数XML Schema(或者至少是我测试过的少数几种).
您可以使用-h选项获取所有选项.但基本上,您可以使用XSD文件作为参数提供它,您可以使用这些选项稍微更改行为或让它直接在您的数据库上运行sql.如果它是一个生产系统,我建议不要直接连接到数据库并确保sql输出是否合适,并进行任何调整.
以下是存储库中示例文件的示例用法:python xsd2pgsql.py -f sample-2.xsd sample.xsd
注意:目前,这不处理表/ XML复杂类型之间的任何关系/引用.您必须在事后添加您想要的那些和任何索引.也不支持自定义命名空间.
希望这可以帮助.