【发布时间】:2013-07-29 19:33:27
【问题描述】:
给定 2 个 Oracle 架构脚本文件,我能否客观地比较它们没有在 Oracle 服务器上创建和运行的真实架构?
我正在寻找一种方法来比较 2 个模式脚本文件并作为回报接收同步脚本,而无需在 Oracle 服务器上真正创建它们。
我曾想过在运行时为该任务创建一个临时的内存模式,但这可能有点过头了,我想看看你的建议。
有可能吗?有一些已知的工具可以完成这项任务吗?
更新:重要的是要注意,我不是在寻找文本差异,而是在寻找模式对象(表、列、过程等)比较。
【问题讨论】:
-
一切皆有可能,但我猜你必须弄清楚如何将脚本解析为对象模型,然后比较差异并将其解释为创建、更改和删除语句。由于它们必须是特定于 Oracle 的,我会认为任何现有工具(如 SQL Developer 的模式比较向导)都将基于 DB 模式而不是平面文件,后者可能具有要处理的可变格式等。正在运行将脚本分成两个模式真的有这样的问题吗?
-
@AlexPoole 我想创建一个自动工具,只需单击几下即可为我提供同步脚本。