MssqlMerge can do a lot of database diff and merge tasks without user interaction. It has its own scripting language, designed to automate the most common tasks.
For example, you need to create a continuous integration (CI) nightly build that checks for schema changes between your Dev server database and Staging database. Such a report could be easily generated using MssqlMerge GUI: we just need to get schema changes summary (see Schema changes summary use case). Then using the toolbar we need to apply a 'New and Changed' filter and then do Export. But all these actions should be done by someone, that's not applicable for our task that should be done without user interaction.
Let's automate this task. Open Script Editor application:
As recommended in the sample script comments, 1 update connection strings, script log and json report file paths. Script sample already contains required command to generate schema summary report, if you need some other actions - please check the documentation. Сlick 2 to check the script and make sure the Result panel has no errors. If so, click 3 to run the script and check its execution result:
4 'EXIT CODE: 0' and missing errors means successful execution. Note that now 5 log file and 6 report file paths are changed into hyperlinks, and you can click those links to open these files.
For many typical diff & merge tasks such a script can be generated automatically. For example, you can open databases (see Schema changes summary use case) and generate schema changes summary report script using 7'Generate automation script stub' toolbar button:
This button generates script for the current tab, it already contains your database names and all you have to do is 8setup log and report file paths (and in case if your connection string contains password, then update it as well):
Once your script is ready, select and copy text of your script, paste it into some text editor and save as file with *.ksdms extension. Now, assuming that you have KS DB Merge Tools for SQLite installed on CI server, you can create a task in your CI pipeline that would run the following command:
"c:\Program Files (x86)\MssqlMerge\MssqlMergeCmd.exe" "c:\temp\schemaDiff.ksdms"
where MssqlMergeCmd.exe argument should be a real path to your *.ksdms file.