适用于Visual Studio 2017(ODT)的Oracle开发人员工具

时间:2018-08-29 14:57:44

标签: oracle visual-studio odt schema-compare

我已在Visual Studio 2017上创建了Oracle Database Project版本2,并将现有数据库导入到该项目中以获得我项目上的数据库架构,并且在我的项目中获得了该对象的SQLfile。问题是,例如,当我修改表并将更改保存到oracle数据库项目中并进行构建时,我得到了一个创建脚本作为输出,而不是alter脚本,因此由于以下原因,该脚本无法部署到我的数据库中: “现有对象错误”。

我尝试通过进行模式比较选项来做到这一点:

  • 我通过将oracle数据库项目作为源并将数据库作为目标来启动模式比较
  • 比较结果表明,源和目标之间存在一个不相同的对象,即表(因为我在表中添加了一行)

同样的问题是,当我生成更新脚本时,它会提供一个删除/创建表脚本而不是更改脚本,并且由于会丢失数据,所以无法部署此脚本。

有人有什么想法吗?如何通过构建项目或启动模式比较操作来获取alter脚本?

1 个答案:

答案 0 :(得分:0)

我发现比较两个数据库确实会生成一个“有点”正确的差异脚本(它可能需要进行一些手动调整)。因此,您可以针对另一个Oracle实例运行数据库项目生成的SQL文件,然后将两者进行比较。