Hello and Welcome! There are a number of community efforts to create entity relationship diagrams (ERD) such as those from Chris Smith or r2i e.g.
http://www.r2idnn.com/Blog/BlogEntry/... . However, in general we recommend you don't do direct database access, as there are often dependencies that are not obvious e.g. when you create a page it also creates page permissions. As such we recommend you use the public API (i.e. the methods the core uses itself) - you can download the API documentation at
http://dotnetnuke.codeplex.com/releas... . For instance to create a new page, you create a tabinfo object and use the tabcontroller to create it (tab's are the name for pages in dotnetnuke due to legacy reasons) e.g. (note, i have not tested this, it should be reasonably close)
Dim t As New DotNetNuke.Entities.Tabs.TabController
Dim TI As New DotNetNuke.Entities.Tabs.TabInfo
Dim current As DotNetNuke.Entities.Tabs.TabInfo = t.GetTab(TabId, PortalId, True)
'write your database query here to get your data from the legacy cms
Dim myConnection As SqlConnection
Dim myCommand As SqlCommand
Dim dr As New SqlDataReader()
myConnection = New SqlConnection("server=localhost;uid=sa;pwd=;database=pubs")
'establishing connection. you need to provide password for sql server
Try
myConnection.Open()
'opening the connection
myCommand = New SqlCommand("Select pagename,pagetitle from legacycms_pages_table", myConnection)
'executing the command and assigning it to connection
dr = myCommand.ExecuteReader()
While dr.Read()
'reading from the datareader
TI.TabName = dr("pagename")
TI.Title = dr("title")
TI.ParentId = current.TabID
TI.TabID = Null.NullInteger
TI.PortalID = current.PortalID
For Each pr In current.TabPermissions
TI.TabPermissions.Add(pr)
Next
TI.IsVisible = False
t.Addtab(ti)
End While
dr.Close()
myConnection.Close()
Catch e As Exception
End Try
Finally, if you do decide to use direct database access, then
http://www.dnncreative.com/Forum/tabi... has links to a number of useful options.