The synchronization script is generated with errors when synchronizing a specific database with an empty database as a destination

Applies to
ApexSQL Diff

Description
This article describes an issue when a database that contains a table or an indexed view that has a FULLTEXT INDEX is synchronized with an empty database. The generated synchronization script contains errors.

Symptoms
The user chooses an empty database as a destination:

Figure illustrating that an empty database is chosen as a destination database

After comparison in the results grid the user chooses all database objects and clicks the Synchronize button:

Choosing all database objects and clicking the Synchronize button

The generated synchronization script is executed with errors:

Figure illustrating that the generated synchronization script is executed with errors

Cause
If an object (a table or an indexed view) has a FULLTEXT INDEX the script execution generates an error because the creation order is incorrect and an object is created before the FULLTEXT INDEX. The FULLTEXT INDEX cannot be created in the transaction and it’s created at the end of the synchronization script.

Workaround
If a script contains an object that depends on a FULLTEXT INDEX change the order of object’s creation manually.

Affected versions
ApexSQL Diff 2013.01.0286 and older

Resolution
ApexSQL is currently working to fix this issue permanently