Я использую утилиту sqlpackage и MSBuild для создания исходных и целевых файлов .dacpac из нашей базы данных и проектов баз данных. Я знаю, что могу генерировать сценарии публикации и даже делать отчеты о развертывании, но эти отчеты только на высоком уровне. Что я хочу сделать, так это иметь возможность предоставить отчет, который показывает мне, что именно отличается между двумя dacpacs. Например, сгенерированный сценарий публикации и файл DeployReport.xml показывают мне, что конкретная хранимая процедура изменилась и будет перезаписана, однако не показывает, какие строки хранимой процедуры изменились, и поскольку это очень длинная хранимая процедура, выяснение этого вручную требует совсем немного усилий.
До сих пор я пытался извлечь содержащийся файл model.xml из файлов .dacpac и использовать инструмент Diff для сравнения model.xml из моего source.dacpac с target.dacpac, но если он создается из действующей базы данных и другие построены из проекта БД, то, к сожалению, они слишком разные, чтобы показать мне полезную визуализацию.
В Visual Studio я, конечно, могу открыть инструмент сравнения схем и таким образом сравнить свои dacpacs, но это слишком ручная работа, и я ищу более автоматизированное решение. Способ запуска этого сравнения схем из командной строки был бы хорош, по крайней мере.
Каков наилучший способ сравнить два файла dacpac и точно показать, в чем различия между ними на подробном уровне? то есть, что эти 5 хранимых проков изменились, и покажите мне визуально, какие строки изменились в каждом из пяти проков? Я согласен с тем, что склеиваю изолентой какое-то решение, но я не могу покупать какие-либо сторонние инструменты, я застрял с тем, что предоставляет MS, и с моими собственными ограниченными возможностями.