The ApexSQL Source Control main menu contains two sub-menus, Options, and Resources:
To check who owns the license, and the expiration date, click the About command:
An additional toolbar will be added to SSMS, the ApexSQL Source Control toolbar, which will contain the Action center tab command:
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:
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):
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 – the Git source control system is chosen:
The Connection type tab – Native – the Working folder option is chosen:
Under the Development model tab, two options are specified, dedicated, or shared development model:
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:
By default, for storing framework objects will be created the ApexSQL database:
The Development model tab – Shared model is chosen and the framework database already exists:
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 – example when a repository path is not specified:
The System login tab – example when a username is incorrect:
The System login tab – example when 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 – when every required information is correct and the Test button is clicked on:
The System login tab – example when the Browse for folder button is clicked, and the already existing project is chosen:
The System login tab – example when creating a new project (the New button in the Choose project window is clicked):
The System login tab – Git – HTTP(S):
The System login tab– Git – SSH:
The System login tab – Git – File:
The System login tab – Mercurial – HTTP(S):
The System login tab – Mercurial – SSH:
The System login tab – Mercurial – File:
The System login tab – Perforce:
The System login tab – Subversion – HTTP(S):
The System login tab – Subversion – File:
The System login tab – Team Foundation Server – HTTP(S) when the Windows authentication is used:
The System login tab – Team Foundation Server – HTTP(S) when the alternative credentials are used:
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 – filtering objects on an object type level:
The Object filter tab – filtering individual objects:
The Object filter tab – filter options from the auto filter row:
The Object filter tab – grid options:
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:
To import object filter options, click the Import button:
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:
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 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 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 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 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 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 and changed the object:
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 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 – 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 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 Action center tab:
The Options window – the Custom scripts tab:
The Options window – the Script options tab:
The Options window – the Administration tab:
The Options window – the Connections 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 New label dialog is opened after the New button in the Labels window is clicked:
The Project history command:
The Static data command:
The Create branch command:
The Merge branches command:
The context menu options and features in the Object Explorer panel for databases linked in the dedicated development model:
The Migration script command:
The context menu options and features in the Object Explorer panel for databases linked in the shared development model:
The Object status command:
The Database change log command:
The context menu options and features in the Object Explorer panel for the database object, regardless of the development model:
The Link static data command:
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 Object change log command:
The Action center tab – The offline mode:
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 – a database chosen in the Object Explorer panel is not linked to the source control system:
The Action center tab – changes are detected in the selected database:
The Action center tab – the Script differences view tab:
The Action center tab – linking static data:
The Action center tab – conflicted object:
The Action center tab – migration script (add and edit):
The Action center tab – custom scripts:
February 19, 2021