export之企业架构师——改变整个模型中的数据类型

zlslch 阅读:206 2025-05-04 20:05:19 评论:0

我正在尝试使用 Enteprise Architect 将数据库架构从 Sybase 迁移到 Oracle。

流程如下:

  • 从 Sybase 导入表,
  • 根据需要更改架构(添加、删除、重命名 列,更改数据类型...),
  • 将模式导出为 Oracle 的 DDL(创建表、键等 - dump.sql)。

但我发现了 EA 不会“根据平台”更改数据类型的问题。例如,Sybase 使用的是“日期时间”,而我需要 Oracle 的“时间戳”。

有什么方法可以改变整个模型的一种数据类型吗?

是的,可以在生成的 dump.sql 上使用 Ctrl+H 并替换这些数据类型,但我想在EA(我希望在不向后导入的情况下为生成的 Oracle 数据库提供相应的 EA 模式)。

非常感谢!

J.

请您参考如下方法:

要进行这样的转换,没有“干净”的方法,因为您要进行大量更改。无论如何,有 2 种方法:

  1. 使用 API:在 t_attribute 中查找元素

    Repository.SQLQuery("SELECT ea_guid FROM t_attribute WHERE stereotype = 'column' AND type='datetime'") 
    

    现在使用 XML 结果读取相应的属性并更改类型:

    attr = Repository.GetAttributeByGUID(<theGuid>) 
    attr.type = 'timestamp' 
    attr.update() 
    
  2. 只需使用直接 SQL 和 native 数据库客户端执行上述操作:

    UPDATE t_attribute SET type='timestamp' WHERE stereotype = 'column' AND type='datetime' 
    

第一个变体更干净一些,但第二个变体并没有那么不安全。在投入生产之前,先尝试在您的存储库的副本上。


标签:架构师
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号