ApexSQL Source Control 2021 – Screen shot tour

The ApexSQL Source Control main menu contains two sub-menus, Options, and Resources:

ApexSQL Source Control main menu

To check who owns the license, and the expiration date, click the About command:

About window

An additional toolbar will be added to SSMS, the ApexSQL Source Control toolbar, which will contain the Action center tab command:

Action center tab shortcut

As the first step to using ApexSQL Source Control, a database must be linked to source control. Linking a database can be done by right-clicking it in the Object Explorer pane and choosing the Link database to source control command from the context menu. Context menu in the Object Explorer pane when a database is not linked:

The Link database to source control command in the Object Explorer

This action will start the Source control setup window. Under the Connection type tab there are two ways of linking a database: using native drivers to connect to Git, Mercurial, Perforce, Subversion, or Team Foundation Server) or using the Working folder functionality (connecting to a local folder if there are no source control system in place):

Source control setup window

The Connection type tab – Native – Team Foundation Server is selected and the TFS check-in policy option is checked:

The Connection type tab – Native – Team Foundation Server is selected and the TFS check-in policy option

The Connection type tab – Native – the Git is chosen:

The Connection type tab – Native – Git

The Connection type tab – Native – the Working folder is chosen:

The Connection type tab – Native – Working folder

Under the Development model tab, two options are specified, dedicated, or shared development model:

Developmen model tab

If the Shared development model is chosen, a database for storing ApexSQL Source Control framework objects must be selected. It can be any database already present on the selected Server, or can create a new database:

Shared development model

By default, for storing framework objects will be created the ApexSQL database:

Shared development model - framework object database

Shared development model - framework object database

The Development tab – Shared model is chosen and the framework database already exists:

Shared development model - framework object database

Under the Object filtering tab, any of the database objects can be excluded from being version controlled, before a database is linked to source control.

The Object filtering tab – filtering database schema:

The Object filtering tab - schema drop-down list

The Object filtering tab – filtering objects on an object type level:

The Object filtering tab - type drop-down list

The Object filtering tab – filtering individual objects:

The Object filtering tab - object grid

The Object filtering tab – filter options from auto filter row:

The Object filtering tab - autofilter row

The Object filtering tab – grid options:

The Object filtering tab – grid options

The Object filtering tab – the Search panel:

The Object filtering tab – the Search panel

The object filtering options can be saved/exported to an XML file, by clicking the Export button. By default, the Object filtering file will be saved to this location C:\Users\<user>\AppData\Local\ApexSQL\ApexSQL Source Control:

Object filtering export

To import object filtering options, click on the Import button:

Object filtering import

Under the Script options tab are shown the Ignore comparison options, used to set object attributes which will be compared, and the Synchronization options, applied to scripts that will be applied against a database when the Get operation is performed:

Script options tab

The System login tab contains several sub-tabs, depending on the chosen source control system, HTTP(S), SSH, and File. Regardless of the chosen source control system and sub-tab, to continue the linking process required information must be entered.

The System login tab – example when a username is not specified:

The System login tab – a username is not specified

The System login tab – example when a repository path is not specified:

The System login tab – repository path is not specified

The System login tab – example when a username is incorrect:

The System login tab – a username is incorrect

The System login tab – example when a repository is not empty:

The System login tab – a repository is not empty

The System login tab – example when the Remember password option is not checked for Git public repository:

The System login tab – the Remember password option is not checked for Git public repository

The System login tab – when every required information is correct and the Test button is clicked on:

The System login tab - Test button is clicked

The System login tab – example when the Browse for folder button is clicked on, and the already existing project is chosen:

The System login tab - Browse for folder button is clicked

The System login tab – example when creating a new project (the New button in the Choose project window is clicked on):

The System login tab - New project creation

The System login tab – Git – HTTPS:

The System login tab – Git – HTTPS


The System login tab– Git – SSH:

The System login tab– Git – SSH

The System login tab – Git – File:

The System login tab – Git – File

The System login tab – Mercurial – HTTPS:

The System login tab – Mercurial – HTTPS

The System login tab – Mercurial – SSH:

The System login tab – Mercurial – SSH

The System login tab – Mercurial – File:

The System login tab – Mercurial – File

The System login tab – Perforce:

The System login tab – Perforce:

The System login tab – Subversion – HTTPS:

The System login tab – Subversion – HTTPS:

The System login tab – Subversion – File:

The System login tab – Subversion – File:

The System login tab – Team Foundation Server – HTTP(S) when Windows authentication is used:

The System login tab – Team Foundation Server – HTTP(S) when Windows authentication is used

The System login tab – Team Foundation Server – HTTP(S) when alternative credentials are used:

The System login tab – Team Foundation Server – HTTP(S) when alternative credentials are used

The System login tab – when the Working folder is chosen under the Connection type tab:

The System login tab – when the Working folder is chosen under the Connection type tab

After a database is linked, the Action center tab will be displayed.

The Action center tab is shown below, after linking a database to an empty repository and before the initial commit is performed:

The Action center tab - initial commit

The Action center tab after the initial commit is performed:

The Action center tab after the initial commit is performed

The context menu in the Object Explorer pane for a database linked in a dedicated development model:

The context menu in the Object Explorer pane for a database linked in a dedicated development model

The context menu in the Object Explorer pane for a database linked in a shared development model:

The context menu in the Object Explorer pane for a database linked in a shared development model

The context menu in the Object Explorer pane for a database object linked in a dedicated development model:

The context menu in the Object Explorer pane for a database object linked in a dedicated development model

The context menu in the Object Explorer pane for a database object linked in a shared development model:

The context menu in the Object Explorer pane for a database object linked in a shared development model

Object status icons are shown in the Object Explorer pane for the edited object linked in the Dedicated development model:

Object status icons are shown in the Object Explorer pane for the edited object linked in the Dedicated development model

Object status icon in the Object Explorer pane for the edited object linked in the Shared development model:

Object status icon in the Object Explorer pane for the edited object linked in the Shared development model

Object status icon in the Object Explorer pane for the edited object linked in the Shared development model, when another user changed the object:

Object status icon in the Object Explorer pane for the edited object linked in the Shared development model, when another user changed the object


Object status icon in the Object Explorer pane for the edited object linked in the Shared development model, when another user checks out the object:

Object status icon in the Object Explorer pane for the edited object linked in the Shared development model, when another user checks out the object

Object status icon in the Object Explorer pane for the edited object linked in the Shared development model, when another user checks out and locks the object:

Object status icon in the Object Explorer pane for the edited object linked in the Shared development model, when another user checks out and locks the object

Object status icon in the Object Explorer pane for the edited object linked in the Shared development model, when another user checks out and locks and changed the object:

Object status icon in the Object Explorer pane for the edited object linked in the Shared development model, when another user checks out and locks and changed the object

For linked databases, additional settings can be found in the Options dialog.

The Options dialog – the General tab:

The Options dialog – the General tab

The Options dialog – the Object filtering tab – the Local settings sub-tab:

The Options dialog – the Object filtering tab – the Local settings sub-tab

The Options dialog – the Object filtering tab – the Local settings sub-tab – schema filtering:

The Options dialog – the Object filtering tab – the Local settings sub-tab – schema filtering

The Options dialog – the Object filtering tab – the Local settings sub-tab – type filtering:

The Options dialog – the Object filtering tab – the Local settings sub-tab – type filtering

The Options dialog – the Object filtering tab – the Local settings sub-tab – single object filtering:

The Options dialog – the Object filtering tab – the Local settings sub-tab – single object filtering

The Options dialog – the Object filtering tab – the Local settings sub-tab – single objects filtering that are present only on repository:

The Options dialog – the Object filtering tab – the Local settings sub-tab – single objects filtering that are present only on repository

The Options dialog – the Object filtering tab – the Global settings sub-tab – single object filtering:

The Options dialog – the Object filtering tab – the Global settings sub-tab – single object filtering

The Options dialog – the Action center tab:

The Options dialog – the Action center tab

The Options dialog – the Custom scripts tab:

The Options dialog – the Custom scripts tab

The Options dialog – the Script options tab:

The Options dialog – the Script options tab

The Options dialog – the Administration tab:

The Options dialog – the Administration tab

The Options dialog – the Connection tab:

The Options dialog – the Connection tab

The Options dialog – the Shortcuts tab:

The Options dialog – the Shortcuts tab

The context menu options and features in the Object Explorer pane for linked databases, regardless of the development model:

The Create label command:

The Create label command

The Show labels command:

The Show labels command

The Label window

The Project history command:

The Project history command

The Project history window

The Static data command:

The Static data command

The Static data window

The Create branch command:

The Create branch command

The Create branch window

The Create branch window - Selecting a branch

The Create branch window - new branch created

The Merge branches command:

The Merge branches command

The Merge branches window - Selecting a source branch

The Merge branches window - Selecting a target branch

The Merge branches window - merging branches done

The context menu options and features in the Object Explorer pane for databases linked in the dedicated development model:

The Migration script command:

The Migration script command

The Migration scripts window

The context menu options and features in the Object Explorer pane for databases linked in the shared development model:

The Object status command:

The Object status command

The Object status window

The Database change log command:

The Database change log command

The Database change log window

The context menu options and features in the Object Explorer pane for the database object, regardless of the development model:

The context menu options and features in the Object Explorer pane for the database object

The Object history window

The Link static data command:

The Link static data command

Message for linked static data for a table

The context menu options and features in the Object Explorer pane for database objects linked in the shared development model:

The Check out and the Check out and lock commands:

The Check out and the Check out and lock commands

The Check out and the Check out and lock commands

The Object change log command:

The Object change log command

The Object change log window

The Action center tab – The offline mode:

The Action center tab – The offline mode

The Action center tab – the online mode – database and source control are synced:

The Action center tab – the online mode – database and source control are synced

The Action center tab – a different linked database is chosen in the Object Explorer pane:

The Action center tab – different linked database is chosen in the Object Explorer pane

The Action center tab – a database chosen in the Object Explorer pane is not linked to the source control system:

The Action center tab – a database chosen in the Object Explorer pane is not linked to source control system

The Action center tab – changes are detected in the selected database:

The Action center tab – changes are detected in the selected database

The Action center tab – the Script differences view tab:

The Action center tab – the Script differences view tab

The Action center tab – linking static data:

The Action center tab – linking static data

The Action center tab – conflicted object:

The Action center tab – conflicted object

The Action center tab – conflicted object - Merge

The Action center tab – conflicted object - Keep local

The Action center tab – conflicted object - Take from repository

The Action center tab – migration script (add and edit):

The Action center tab – add migration script

The migration script window

The Action center tab – edit migration script

The Action center tab – custom scripts:

The Action center tab – custom scripts

 

February 19, 2021