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?