I did an upgrade today of our 4.3.0 environment to 4.3.6. Everything went alright except for the SQLDataProvider error I received during the upgrade the error appeared in the SQLDataProvider Error log for 4.3.3. The error encountered was;
System.Data.SqlClient.SqlException: ALTER TABLE statement conflicted with COLUMN FOREIGN KEY constraint 'FK_ProfilePropertyDefinition_Portals'. The conflict occurred in database 'DotNetNuke', table 'Portals', column 'PortalID'.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler,
SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at DotNetNuke.Data.SqlDataProvider.ExecuteADOScript(String SQL)
at DotNetNuke.Data.SqlDataProvider.ExecuteScript(String Script, Boolean UseTransactions)
IF NOT EXISTS ( SELECT * FROM sysobjects WHERE id = object_id(N'FK_ProfilePropertyDefinition_Portals') AND OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE dbo.ProfilePropertyDefinition
ADD CONSTRAINT FK_ProfilePropertyDefinition_Portals FOREIGN KEY (PortalID) REFERENCES dbo.Portals (PortalID) ON DELETE CASCADE
I tried running the subselect (SELECT * FROM sysobjects WHERE id = object_id(N'FK_ProfilePropertyDefinition_Portals') AND OBJECTPROPERTY(id, N'IsForeignKey') = 1) within SQL Analyzer and no rows are returned so the ALTER TABLE statement should be getting executed. However, when I try to run the ALTER TABLE statement in SQL Analyzer I get the following;
Server: Msg 547, Level 16, State 1, Line 1
ALTER TABLE statement conflicted with COLUMN FOREIGN KEY constraint 'FK_ProfilePropertyDefinition_Portals'. The conflict occurred in database 'DotNetNuke', table 'Portals', column 'PortalID'.
The strange thing is that there is no 'FK_ProfilePropertyDefinition_Portals' defined for either the dbo.Portals table or the dbo.ProfilePropertyDefinition table.
What would be my next steps to get this constraint defined as expected?