Enterprise Architect 比较数据库

Enterprise Architect Compare database

我对 EA 和一般数据工程还很陌生。我希望能够将我的 MS SQL 数据库与我在 EA 中创建的数据模型同步。通过帮助和教程,我学会了如何将我的数据模型推送到 MS SQL 数据库。我未能实现的是同步。我有一种感觉,这与架构有关。数据库构建器列出所有原始表,然后再次列出来自 ODBC 连接的所有表,并附加 'dbo.'

我是否需要在我的数据模型的选项中定义这个地方,或者我可以在考虑模式的情况下将数据模型与服务器进行比较吗?

您需要使用 Sparx EA 的“数据库生成器”功能。
这可以在“开发”选项卡上找到。 (这不能直接从“浏览器”运行) Select 以“数据库”作为原型的包。使用鼠标按钮 2 和 select“管理 DBMS 选项”。该对话框将使您能够更改 table(s) 所有者甚至更改 selected DBMS 类型。然后您可以从数据库构建器执行“数据库比较”或“与选项比较”。 关于术语的注意事项 - SQL 服务器中的“dbo”是数据库所有者。 (我还将此答案发布到 Sparx 论坛。) 您可以在此处找到带有屏幕图像的相关文档:https://www.sparxsystems.com/enterprise_architect_user_guide/15.2/model_domains/import_schema_into_builder.html

我需要将所有者标签 dbo 添加到我的所有表中。对于某些原因,将其添加到数据模型对象是不够的。多亏了这个线程,我找到了一个选项,可以一次为所有表更改它。 How do you set the database schema, at the package level, in SPARX Enterprise Architect?

当我尝试比较时,PK 和 FK id 仍然存在一些差异,但我只是将我的本地数据模型与之对齐,现在数据模型和数据库之间没有差异。