ApexSQL Source Control
This article explains how to use the Action center tab to communicate with a source control repository in ApexSQL Source Control.
The Action center tab is the central point of ApexSQL Source Control where all the current differences between the Database and Source control are presented. It is used as a launch pad to commit changes, merge objects, view differences and more.
An object will be visible in the Action center tab if:
- it exists in both database and source control, but there are differences between a version in a database and the latest version on the repository
it exists only in a database or only in source control
The Action column indicates what will be done upon clicking the Apply button in the lower right corner:
- Commit to source control – if an object doesn’t exist in source control, it will be created. If it exists, then a database object will overwrite the latest version committed to source control
- Apply against a database (Get) – if an object doesn’t exist in a database, it will be created. If it exists in a database, then the latest version of an object from source control will overwrite a version of an object in a database
- Commit/Get – This action is available only if a conflicted object is merged. An object will be overwritten in both database and source control repository with the merged script
- Different object (Dedicated database development model) – This status appears if there are no information about previous state of the object. This may happen if there are differences between some objects when the developer links the database to the source control repository where that database was already committed by another developer. It can be resolved by clicking on it which will change the action to Commit to source control while second click will change the action to Apply against a database
- Conflicted object (Dedicated database development model) – It appears if an object was changed by two or more developers without previously getting the latest state from source control. Learn more
To undo changes made on an object since the last synchronization between a database and source control, check objects which changes you want to undo and click the Undo button.
The Undo functionality is available only when using the Dedicated database development model
Q: What scope is the action center?
A: The Action center tab shows the information about the currently selected linked database. To switch the Action center tab to another linked database, select it in the Object Explorer pane and click the Refresh button.
Q: Are changes made against a database automatically shown in the Action center tab?
A: If there are changes detected, a notification message appears in the Action center tab automatically. Refreshing object differences is called on demand, in order to save a considerable amount of time if a developer just wants to check a nature of the change that was made.
Q: Can I filter objects shown in the Action center tab?
A: Objects can be filtered by type, name, owner and action, by typing the wanted text in the filter row or choosing the offered results from the combo box if available.
Q: Can I work with multiple objects at once e.g. batch updated?
A: Yes. Multiple objects can be selected by holding Ctrl or Shift buttons. The Action value for all selected objects can be changed e.g. from Commit to source control to Apply against a database, or all objects can be checked from the context menu. Also Apply or Undo will be performed on all checked objects at once regardless of chosen action.
Q: Can I commit/undo changes made by someone else in the Shared database development model?
A: By default, no. Only developer who made specific changes can commit or revert them. However, if the Enable committing other users changes option is checked in the options, changes made by others can be committed.
Q: Is it possible to set comments to be mandatory when committing to source control?
A: Yes. Mandatory comments are set by default but the setting can be changed in the ApexSQL Source Control options under the Action center tab.
Q: How can I undo changes in the shared database development model?
A: In a shared database, the undo changes is the same as getting the latest version from source control with current functionality.