Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
Direct upgrade to BuildMaster 6.2 is not supported at this time.
-
Hi Everyone,
I am currently upgrading BuildMaster from version 5.7 to 2025 using the following upgrade path:
5.7 → 6.1.28 → 6.2 → 2025
During the upgrade process, I encountered a SQL error while upgrading from version 6.1.28. Prior to initiating the upgrade, I verified that the Legacy Feature Detector reported zero legacy features, confirming that all prerequisites were met.
** Write SQL Connection String to $DbConnectionString ** ** Update Database Schema ** ** Execute inedosql.exe update . --connection-string="$DbConnectionString" in $WorkingDirectory ** DEBUG: Process: C:\BuildMaster\SqlScripts\inedosql.exe DEBUG: Arguments: update . --connection-string="Data Source=VUSQASQLDB04;Initial Catalog=BuildMasterQA;Integrated Security=True" DEBUG: Working directory: C:\BuildMaster\SqlScripts DEBUG: Ensuring that C:\BuildMaster\SqlScripts exists... INFO: Executing C:\BuildMaster\SqlScripts\inedosql.exe... INFO: Database uses v2 change script schema; upgrading... INFO: Executing untracked script DDL-DML\0000. Untracked\10. Block 6.2 Upgrades.sql... ERROR: at [System.Data](http://System.Data).SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) ERROR: at [System.Data](http://System.Data).SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) ERROR: at [System.Data](http://System.Data).SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) ERROR: at [System.Data](http://System.Data).SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) ERROR: at [System.Data](http://System.Data).SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) ERROR: at [System.Data](http://System.Data).SqlClient.SqlCommand.ExecuteNonQuery() ERROR: at Inedo.DbUpdater.SqlServer.SqlServerDatabaseConnection.ExecuteQueryWithSplitter(String query) ERROR: at Inedo.DbUpdater.SqlServer.SqlServerDatabaseConnection.ExecuteScripts(IEnumerable`1 scripts, ChangeScriptState state) ERROR: at Inedo.DbUpdater.Program.Update(String scriptPath, String connectionString, Boolean force) ERROR: at [Inedo.DbUpdater.Program.Run](http://Inedo.DbUpdater.Program.Run)(ArgList args) ERROR: at Inedo.DbUpdater.Program.Main(String[] args) ERROR: Unhandled Exception: [System.Data](http://System.Data).SqlClient.SqlException: Direct upgrade to BuildMaster 6.2 is not supported at this time. ERROR: Process exited with code: -532462766 (failure)To proceed, I executed the upgrade using the command prompt and forced the inedosql script, which allowed the upgrade to complete successfully.
However, I would like to understand the root cause of this issue:
What could be the reason for encountering a SQL error despite having no legacy features detected?
Are there any underlying database inconsistencies or known limitations associated with this upgrade path that could lead to such behavior?
-
Hi @ybaskar-temp_3339 ,
The "root cause" is relatively easy to answer. The error was occurring on the
10. Block 6.2 Upgrades.sqlscript, which is simply this:IF OBJECT_ID('ActionGroups') IS NOT NULL EXEC sp_executesql N' IF NOT EXISTS(SELECT * FROM [Configuration] WHERE [Key_Name] = ''Legacy.NoLegacyFeaturesDetected'' AND [Value_Text] = ''True'') RAISERROR(''Cannot upgrade to BuildMaster 6.2 unless "Legacy.NoLegacyFeaturesDetected" in Advanced Settings is "True". This can be done by running the legacy features checker.'', 16, 1) 'Basically it will simply crash unless
Legacy.NoLegacyFeaturesDetectedis not set to "True". The "Legacy Feature detector" should have set that to "True" if there were no legacy features detected... but perhaps it didn't?Since you were able to bypass it, I wouldn't worry about it. In the "worse case", legacy data would have been purged during the delete.
Thanks,
Alana