Search code examples
batch-filecommand-lineredgatesqlcompare

SQL Compare Command-line does not synchronize database


In order to automate database synchronization using the SQL Compare command line; I have created a project to compare and deploy from my local database to a database in another server. Then I create a bat file. here is my bat file:

SET curdir=%~dp0

SET sqlcompare="C:\Program Files (x86)\Red Gate\SQL Compare 13\sqlcompare.exe"

%sqlcompare% /project:"%curdir%IcLoyalty.scp" /sync /include:Identical

The result of command is:

Registering data sources

Creating mappings

Comparing

Summarizing Project Selections

Retrieving migration scripts

Checking for identical databases

Creating SQL

Deploying changes (from DB1 to DB2)

When I check the destination database the changes does not apply. Consider that project work correctly when I open it with SQL Compare Application. What I've missed in bat file?


Solution

  • It's possible that you had your selection (the checkboxes on the comparison results) deselected when you saved the project. Try selecting them all and resave the project.

    This is from the documentation page. "If you want to include or exclude objects from an existing project, you must modify your selection using the graphical user interface."