This project has moved. For the latest updates, please go here.

Migration Path to 1.3.1 - Delete Database

Topics: Developer Forum, Project Management Forum, User Forum
Jul 29, 2008 at 9:33 AM
Can you please confirm that the migration path one the 1.3.1 RTM will still require you to DELETE the database and start again!

Again this is critical as planning needs to take place to manage the content from the current solution before the next school year starts in about 6 weeks time.


Jul 31, 2008 at 3:05 PM
This is a concern of ours as well.  Though looking at the database schema from 1 to 1.3, I do not see many dramatic differences (other than some of the things for the observer permission). 

I wonder what happens if we just copy the data from the old tables / DB to the new one.  Will it work, or does SLK need some of the application level things to happen for it to recognize it.
Aug 25, 2008 at 5:55 PM
There is a feature request for this here:  There is no resource on this at this time.
Aug 27, 2008 at 2:40 PM
I've just added patch 1738 to address this. It's a database script to upgrade SLK (1.0, 1.301, 1.302 and version which came with MLG) to version 1.31.

It's not extensively tested, do not use it on a live system without testing in a test environment first. Backup your databases before running. No guarantees this will work, I'm not responsible if it hoses your system etc etc.

Give it a go and let me know if it works for you.


SalamanderSoft Limited
Active Directory & SharePoint provisioning
Aug 27, 2008 at 8:15 PM

You are a gem, Richard.

Three "I tested it with my databases in my test environment and it updated flawlessly for me" votes and I'll add it to the distribution.

 - jcb

Sep 17, 2008 at 7:06 PM
Unfortunately I cannot give it an Upgraded Flawlessly for me. (also put this in the Issue Tracker Comments)

Going from 1.00 to 1.3.1

It definitely updates the schema correctly, and I have no issues assigning/completing new content.  I do however have issues viewing old, both as a learner and Instructor

I receive the following error --

SharePoint Learning Kit Error

System.ArgumentException: Unexpected DBNull value
at Microsoft.SharePointLearningKit.LearningStoreHelper.CastNonNull[T](Object value, T& result)
at Microsoft.SharePointLearningKit.SlkStore.GetGradingProperties(AssignmentItemIdentifier assignmentId, AssignmentProperties& basicAssignmentProperties)
at Microsoft.SharePointLearningKit.ApplicationPages.Grading.LoadGradingList()
at Microsoft.SharePointLearningKit.ApplicationPages.Grading.OnPreRender(EventArgs e)

For more information, see Help and Support Center at

I dug in a little further and here is what I found...

A new field "GuidID" was added to the DB somewhere after 1.00 and it turns out that 1.3.1 needs this field to be populated for old assignments (all old assignments have it null).  The reason, as near as I can figure is that 1.00 used the ID Field from the LearnerAssignmentItem table. 1.3.1 uses this GUID field.  If I populate the field, the error goes away.

The real question is, can random GUIDs just be generated for the old assignments? OR is there somewhere in particulare it pulls them from?

Sep 19, 2008 at 8:37 AM
Edited Sep 19, 2008 at 8:53 AM
Thanks for the report. If you run the following SQL it will update the existing entries

CREATE TABLE TempItem (Id bigint, GuidId uniqueidentifier DEFAULT (newid()))

SELECT Id FROM LearnerAssignmentItem WHERE GuidId IS NULL

UPDATE LearnerAssignmentItem SET GuidId = ti.GuidID
FROM LearnerAssignmentItem lai
INNER JOIN TempItem ti on ti.Id = lai.Id


I'll add this to the script and uploaded a new patch 1851.


SalamanderSoft Limited
Active Directory & SharePoint provisioning
Sep 23, 2008 at 1:31 PM
Awesome.  That seems to do the trick for me.  I will have some users do some testing and post back my report.

Thanks much
Sep 25, 2008 at 2:19 PM
A number of my users have tested and report no problems.  This is a life saver!