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 panel and choosing the Link database to source control command from the context menu. Context menu in the Object Explorer panel 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 (includes Azure DevOps Server/Services)) 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 – the Team Foundation Server source control system 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 source control system is chosen:

The Connection type tab – Native – Git

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

The Connection type tab – Native – Working folder

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

Development model tab

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

Shared development model

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

Shared development model - framework object database

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

Shared development model - framework object database

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 – username and password are 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 the Git repository:

The System login tab – the Remember password option is not checked for the  Git 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, 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):

The System login tab - New project creation

The System login tab – GitHTTP(S):

The System login tab– Git – HTTPS


The System login tab– GitSSH:

The System login tab– Git – SSH

The System login tab – GitFile:

The System login tab – Git – File

The System login tab – MercurialHTTP(S):

The System login tab – Mercurial – HTTPS

The System login tab – MercurialSSH:

The System login tab – Mercurial – SSH

The System login tab – MercurialFile:

The System login tab – Mercurial – File

The System login tab – Perforce:

The System login tab – Perforce

The System login tab – SubversionHTTP(S):

The System login tab – Subversion – HTTPS

The System login tab – SubversionFile:

The System login tab – Subversion – File

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

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

The System login tab – Team Foundation ServerHTTP(S) when the 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

Under the Advanced options tab are stored two more tabs – Object filter and Script options.

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 filter tab – filtering database schema:

The Object filter tab - schema drop-down list

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

The Object filter tab - type drop-down list

The Object filter tab – filtering individual objects:

The Object filter tab - object grid

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

The Object filter tab - auto filter row

The Object filter tab – grid options:

The Object filter tab – grid options

The Object filter tab – the Search panel:

The Object filter tab – the Search panel

The object filter options can be saved/exported to a JSON file, by clicking the Export button. By default, the object filter file will be saved to this location C:\Users\%user%\Documents\ApexSQL\ApexSQL Source Control\Export:

Object filter export

To import object filter options, click the Import button:

Object filter 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 (apply against a database) operation is performed:

Script options 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 panel for a database linked in the dedicated development model:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Object status icon in the Object Explorer panel 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 panel 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 panel 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 panel 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 panel after the static data is linked:

Object status icon in the Object Explorer panel after the static data is linked

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

The Options window – the General tab:

The Options window – the General tab

The Options window – the Object filter tab – the Local settings sub-tab:

The Options window – the Object filter tab – the Local settings sub-tab

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

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

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

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

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

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

The Options window – the Object filter tab – the Local settings sub-tab – single objects, present only on the repository, filtering:

The Options window – the Object filter tab – the Local settings sub-tab – single objects, present only on the repository, filtering

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

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

The Options window – the Action center tab:

The Options window – the Action center tab

The Options window – the Custom scripts tab:

The Options window – the Custom scripts tab

The Options window – the Script options tab:

The Options window – the Script options tab

The Options window – the Administration tab:

The Options window – the Administration tab

The Options window – the Connections tab:

The Options window – the Connections tab

The Options window – the Shortcuts tab:

The Options window – the Shortcuts tab

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

The Labels command:

The Labels command

The Labels window

The New label dialog is opened after the New button in the Labels window is clicked:

The New label dialog is opened after the New button in the Labels window is clicked

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 panel 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 panel 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 panel for the database object, regardless of the development model:

The context menu options and features in the Object Explorer panel 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 panel for database objects linked in the shared development model:

The Check out and the Check out and lock commands:

The Check out command

The Check out and lock command

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 panel:

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

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

The Action center tab – a database chosen in the Object Explorer panel 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