我们有一个“主数据库结构”,需要一个例程来保持客户端站点上的数据库结构是最新的。
我已经提出了一些建议to a related question,但我正在寻找一个更具体的解决方案:
因此,我正在寻找的主要功能可以被描述为“数据库结构到文本”和“文本到数据库结构”。
答案 0 :(得分:1)
diff工具的 a whole lot 可以为您提供两个数据库之间的架构和存储过程以及约束差异。你可以推出自己的,但我认为如果你有一个复杂的架构,它会比这些工具更昂贵,许多提供免费试用,你可以测试。
问题是你必须让master数据库在线才能这样做,并且可以从客户端数据库安装(或安装在那里)访问,这可能是也可能是不可行的。
如果你不这样做,我能想到的唯一其他理智选择是使用迁移的想法,保留一个SQL脚本+版本对的列表,以及每个数据库的当前版本。这可以通过一个不同的工具进行整合,该工具可以从客户端的数据库版本号和更改列表生成单个脚本。如果您没有更改列表,则可以从diff工具运行开始,并从那里跟踪它们。
比较文本路径(比较两种模式的文本SQL转储)看起来很难直接对我自己做,看起来不是正确的路径。
答案 1 :(得分:1)
几种流行的策略是这种变体: