I was unable to find any update scripts, nor anything like that and ended up having to manually enter all the topics in, one-by-one. We had 191 and it took me a little over 4 or 5 hours to complete.
Below (if it pastes correctly) is the main script I used to get a listing of the current groups, forums, subject, body, etc. from the current forums; 10 at a time.. I then used this for entering each entry in via YAF.
I also had to reset all the user passwords so that I could log into the system as them to add and entry. I have another script which does a group by of the users which have made postings to the current forum so you can see who's made postings and you can change their passwords.
I have other scripts which I can try to post which once done with everything, configure the user ip's, posted dates and times, etc. so that everything matches according to what DNN Forums has.
NOTE: I had to put a space between the single quotes (') and the ending parenthesis because the forum was posting a winky face; as you can see.
/****** Script for SelectTopNRows command from SSMS ******/
TOP 10 ROW_NUMBER() OVER (ORDER BY Forum_Posts.CreatedDate) AS No,
Forum_Groups.Name as [Group Name],
Forum_Forums.Name AS [Forum Name],
REPLACE(REPLACE(Forum_Threads.IsPinned, '1', 'Yes' ), '0', 'No' ) AS IsPinned,
REPLACE(Forum_Posts.Subject, '&', '&' ) as Subject,
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(Forum_Posts.Body, '&', '&' ), '%3a', ':' ), '%2f', '/' ), '>', '>' ), '<', '<' ), '"', '"' ), ' ', ' ' ), '’', '''' ), '“', '"' ) AS Body,
Forum_Groups.GroupID as [Group ID],
Forum_Forums.ForumID as [Forum ID]
FROM Forum_Posts INNER JOIN Forum_Threads ON Forum_Posts.ThreadID = Forum_Threads.ThreadID INNER JOIN Forum_Forums ON Forum_Threads.ForumID = Forum_Forums.ForumID INNER JOIN Forum_Groups ON Forum_Forums.GroupID = Forum_Groups.GroupID LEFT OUTER JOIN Users ON Forum_Posts.UserID = Users.UserID
--where Forum_Posts.CreatedDate > '2017-10-25 08:00:00.000' -- Inserted up to this point
ORDER BY Forum_Posts.CreatedDate
SELECT Forum_Posts.UserID, Users.Username
FROM Forum_Posts INNER JOIN Users ON Forum_Posts.UserID = Users.UserID
GROUP BY Forum_Posts.UserID, Users.Username
Keep us posted on how this works out!
Thanks for sharing!
The first SQL script is run against the existing DNN Forum tables to get the information stored in them.
By the time this script is run, the YAF extension has been installed, the module setup, and the categories and forums configured So when you're doing a manual entry of all the topics, it'll show the category and the forum, the topic and it's information as it was entered in the original DNN Forum postings. The listing is sorted by the CreatedDate so you can enter them into YAF as they were originally posted in DNN Forum.
The second SQL script does a listing of the DNN Forum Posts table and does a group by of the user accounts which have posted to the DNN forums. I then used this list to update the passwords of the users which made posts. Since DNN has it's own user management, you have to change passwords via DNN and not the user functions of YAF.
After everything is entered, I have an additional six (6) SQL scripts which create UPDATE scripts (from the live DB and DNN Forum) to move over the true created/updated dates of posts, number of views, IP addresses, etc. And since I was working on a development box, updated to the original password and hashes for the user accounts so they were reset back to what they were originally.
Just figuring everything out took me about two weeks of prep to get configured and working properly. Thank goodness for virtual machines and snapshots. Mess something up, restore previous snapshot and try again. ha-ha..