public override void UpgradeDatabaseToVersion(DatabaseConnection databaseConnection, string targetVersion)
        {
            string currentVersion = GetDatabaseVersion(databaseConnection);

            this.LogInfo($"Upgrade from {currentVersion} to {targetVersion} - started");

            IEnumerable <DatabaseVersion> versionsToRun = VersionTracker.GetAvailableVersions(databaseConnection.DatabaseName, currentVersion, targetVersion);

            this.LogInfo($"{versionsToRun.Count()} upgrades found to run");

            foreach (var version in versionsToRun)
            {
                string sql = FileManager.Manager.GetSqlScript(databaseConnection.DatabaseName, version.Name);
                databaseConnection.ExcecuteScript(sql);

                IncrementVersion(databaseConnection, version.To);

                this.LogInfo($"- Upgrade from {version.From} to {version.To} - completed");
            }

            this.LogInfo($"Upgrade from {currentVersion} to {targetVersion} - completed");
        }