Hello,
Not sure if anyone had this problem, but when we upgraded from Dynamic Registration 2 (2.40) to Dynamic Registration 3 (3.10), we lost all of our DNN Core field mappings. After trading some e-mails with Chad, I learned that the mappings were moved from Module Settings to the DynamicRegistration_Question table. We had a bunch of forms and it would have been a major pain to redo all the mappings, so cooked up some SQL to do it.
Enjoy!
Following is the script, ready to past in the Host->SQL page:
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}[{objectQualifier}vw_TmpDynamicRegMappings]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view {databaseOwner}[{objectQualifier}vw_TmpDynamicRegMappings]
go
-- First create a view to make the update query a little easier...
-- It returns a few extra columns you might want to view for a sanity check first.
create view {databaseOwner}[{objectQualifier}vw_TmpDynamicRegMappings] as
select
m.ModuleId,
m.ModuleTitle,
ms.SettingName,
q.DynamicQuestionId,
q.Question,
pd.PropertyDefinitionID,
pd.PropertyName,
q.ProfPropID
from {databaseOwner}[{objectQualifier}DynamicRegistration_Question] q
inner join {databaseOwner}[{objectQualifier}ModuleSettings] ms
on ms.ModuleId = q.ModuleId and ms.SettingValue = cast(q.DynamicQuestionId as varchar(2000))
inner join {databaseOwner}[{objectQualifier}ProfilePropertyDefinition] pd
on cast(pd.PropertyDefinitionID as varchar(10)) = substring(ms.SettingName, 6, len(ms.SettingName) - 5)
inner join {databaseOwner}[{objectQualifier}Modules] m on ms.ModuleId = m.ModuleId
inner join {databaseOwner}[{objectQualifier}ModuleDefinitions] md on m.ModuleDefId = md.ModuleDefId
inner join {databaseOwner}[{objectQualifier}DesktopModules] dm on md.DesktopModuleId = dm.DesktopModuleId
where dm.ModuleName = 'Dynamic Registration'
and ms.SettingName like 'LINK_[0-9]%'
go
update {databaseOwner}[{objectQualifier}DynamicRegistration_Question]
set {databaseOwner}[{objectQualifier}DynamicRegistration_Question].ProfPropId
= {databaseOwner}[{objectQualifier}vw_TmpDynamicRegMappings].PropertyDefinitionID
from {databaseOwner}[{objectQualifier}DynamicRegistration_Question]
inner join {databaseOwner}[{objectQualifier}vw_TmpDynamicRegMappings]
on {databaseOwner}[{objectQualifier}DynamicRegistration_Question].DynamicQuestionId
= {databaseOwner}[{objectQualifier}vw_TmpDynamicRegMappings].DynamicQuestionId
go
-- Drop the view now that we're done. Skip this step if you want to see what's been updated.
if exists (select * from dbo.sysobjects where id = object_id(N'{databaseOwner}[{objectQualifier}vw_TmpDynamicRegMappings]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view {databaseOwner}[{objectQualifier}vw_TmpDynamicRegMappings]
go