Upgrade from 2.6 to the latest version

Posts   
 
    
JMitchell avatar
JMitchell
User
Posts: 128
Joined: 01-Sep-2006
# Posted on: 26-Apr-2016 12:22:05   

We are still using version 2.6 because when we tried to upgrade to 3.0 it broke all our software that had dual primary keys that weren't in alphabetical order.

I am now having problems because we have upgraded our database to 2014 and I can't refresh the catalogue. I read somewhere that 2.6 is no longer supported so a driver won't be released to allow it to work for us.

How straight forward would it be to upgrade to the latest version? I won't have to go through other versions will I?

Is there a setting I can change now so it keeps the primary keys in the order they appear in the database, rather than having them in alphabetical order?

Are there any other significant breaking changes? I've seen a thread about DynamicDataSupportClasses being deprecated - I don't think that will affect us. Our usage is mainly normal entity usage, typed lists (including creating them in code with TypedListDAO and ResultsetFields) and stored procedures. We have created properties and functions in custom entity code areas of the generated code.

Thanks

James

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 26-Apr-2016 17:42:44   

JMitchell wrote:

We are still using version 2.6 because when we tried to upgrade to 3.0 it broke all our software that had dual primary keys that weren't in alphabetical order.

I am now having problems because we have upgraded our database to 2014 and I can't refresh the catalogue. I read somewhere that 2.6 is no longer supported so a driver won't be released to allow it to work for us.

Correct.

If you want, you can update the driver sourcecode of course, but we won't alter / ship any changes anymore.

How straight forward would it be to upgrade to the latest version? I won't have to go through other versions will I?

You can migrate straight to v5, however there will be some breaking changes you might run into. They're documented here: http://www.llblgen.com/Documentation/5.0/LLBLGen%20Pro%20RTF/migratingcode.htm (start at v2.6->v3).

Is there a setting I can change now so it keeps the primary keys in the order they appear in the database, rather than having them in alphabetical order?

Yes simple_smile Please see: http://www.llblgen.com/Documentation/5.0/Designer/Functionality%20Reference/FieldOrdering.htm

Are there any other significant breaking changes? I've seen a thread about DynamicDataSupportClasses being deprecated - I don't think that will affect us. Our usage is mainly normal entity usage, typed lists (including creating them in code with TypedListDAO and ResultsetFields) and stored procedures. We have created properties and functions in custom entity code areas of the generated code.

Everything we deprecate is at least available as source for you, so if you run into something that's deprecated (we deprecated RIA services as MS did that a long time ago), you still can build from source and use that.

I linked above to the breaking changes which some might affect you and others do not. User code regions are still supported so that wouldn't be a problem. In v3 we moved elements to explicit interface implementations so that might cause some build errors at first, but a cast to IEntityCore or IEntity2 will likely fix it.

Frans Bouma | Lead developer LLBLGen Pro
JMitchell avatar
JMitchell
User
Posts: 128
Joined: 01-Sep-2006
# Posted on: 26-Apr-2016 17:47:37   

Thanks - I was looking this morning and there was an option to upgrade our v3 licenses to v4 with a free upgrade to v5 - that option doesn't seem to be there anymore - have I missed the boat on getting it for the upgrade price by a few hours?!?

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 26-Apr-2016 18:40:43   

JMitchell wrote:

Thanks - I was looking this morning and there was an option to upgrade our v3 licenses to v4 with a free upgrade to v5 - that option doesn't seem to be there anymore - have I missed the boat on getting it for the upgrade price by a few hours?!?

oh dear, yes, I'm sorry but you have. We released the new version today.

Frans Bouma | Lead developer LLBLGen Pro
JMitchell avatar
JMitchell
User
Posts: 128
Joined: 01-Sep-2006
# Posted on: 27-Apr-2016 11:38:48   

I've got a trial license while we sort out getting licensed on V5 - where do I start in converting my .lgp files to .llblgenproj files?

I've done some searching and found things like this - http://www.llblgen.com/documentation/3.0/Designer/Migratingv2xProjectTov3.htm

I can't find any migration functionality in the GUI or files in the installation folder

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 27-Apr-2016 12:22:37   

JMitchell wrote:

I've got a trial license while we sort out getting licensed on V5 - where do I start in converting my .lgp files to .llblgenproj files?

I've done some searching and found things like this - http://www.llblgen.com/documentation/3.0/Designer/Migratingv2xProjectTov3.htm

I can't find any migration functionality in the GUI or files in the installation folder

The more up to date conversion doc is here: http://www.llblgen.com/Documentation/5.0/Designer/Migratingv2xProject.htm

You download the conversion template from the additional downloads, and use it in v2.6's designer. You then generate code in v2.6 but choose the llblgen pro v5 template group. This will make sure the generated code is actually an .llblgenproj file. The reason this is done this way is that in v2.x the project file is a binary serialized form of the in-memory object model, and in v3 and up it's an xml file with a proper format: the only binary which can load the serialized object model is v2.6 so you have to do the conversion there. If you run into problems converting it, please email the .lgp file (with type converters if you use them) to support @ llblgen.com and we convert it for you to v5 format.

Frans Bouma | Lead developer LLBLGen Pro
JMitchell avatar
JMitchell
User
Posts: 128
Joined: 01-Sep-2006
# Posted on: 27-Apr-2016 12:34:56   

Thanks.

The readme document contains several references to v4 in the usage section. Obviously not a major problem but I thought I'd mention it!

A more major problem is that when I open the new file, I get the following error:

Exception message:

Exception type: NullReferenceException Object reference not set to an instance of an object.

Clicking Details shows:

An item with the same key has already been added.

LLBLGen Pro version 5.0. Build 5.0.0 -----[Core exception]-------------------- at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at SD.LLBLGen.Pro.ApplicationCore.CodeGenerationMetaData.Tasks.PresetManager.LoadPresetFiles(String[] additionalTasksFolders) at SD.LLBLGen.Pro.ApplicationCore.Configuration.CoreState.RefreshCodeGenerationMetaData(String additionalTasksFolderPreferences, String additionalTasksFolderProject, String additionalTemplatesFolderPreferences, String additionalTemplatesFolderProject) at SD.LLBLGen.Pro.ApplicationCore.Configuration.CoreState.RefreshCodeGenerationMetaData(UserConfiguration preferences, Project project) at SD.LLBLGen.Pro.Gui.Classes.GuiController.PerformRefreshCodeGenerationMetaData() at SD.LLBLGen.Pro.Gui.Classes.GuiController.PerformOpenProjectAction(String filenameToOpen)

Do you want me to attach the .lgp on a new post in the helpdesk area?

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 27-Apr-2016 15:22:25   

JMitchell wrote:

Thanks.

The readme document contains several references to v4 in the usage section. Obviously not a major problem but I thought I'd mention it!

Thanks, will update it!

A more major problem is that when I open the new file, I get the following error:

Exception message:

Exception type: NullReferenceException Object reference not set to an instance of an object.

Clicking Details shows:

An item with the same key has already been added.

LLBLGen Pro version 5.0. Build 5.0.0 -----[Core exception]-------------------- at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at SD.LLBLGen.Pro.ApplicationCore.CodeGenerationMetaData.Tasks.PresetManager.LoadPresetFiles(String[] additionalTasksFolders) at SD.LLBLGen.Pro.ApplicationCore.Configuration.CoreState.RefreshCodeGenerationMetaData(String additionalTasksFolderPreferences, String additionalTasksFolderProject, String additionalTemplatesFolderPreferences, String additionalTemplatesFolderProject) at SD.LLBLGen.Pro.ApplicationCore.Configuration.CoreState.RefreshCodeGenerationMetaData(UserConfiguration preferences, Project project) at SD.LLBLGen.Pro.Gui.Classes.GuiController.PerformRefreshCodeGenerationMetaData() at SD.LLBLGen.Pro.Gui.Classes.GuiController.PerformOpenProjectAction(String filenameToOpen)

Do you want me to attach the .lgp on a new post in the helpdesk area?

Yes please.

Frans Bouma | Lead developer LLBLGen Pro
JMitchell avatar
JMitchell
User
Posts: 128
Joined: 01-Sep-2006
# Posted on: 27-Apr-2016 16:32:03   

For the benefit of anyone else reading this, I had to clear the Additional tasks folder setting in Preferences and it's working now.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 27-Apr-2016 17:36:41   

5.0.1 fixes this with proper guard code. Hotfix build for 5.0.1 is available in customer area -> 5.0 -> Hotfix builds.

Frans Bouma | Lead developer LLBLGen Pro