Johannes,

The simples approach is that you materialize your object in 3.0, then load
the same version as fuel from pharo 4.0 and then serialize again in 3.0.
After that, you can materialize in 4.0.
The other alternative is that in 4.0 you load older version of Fuel (the
one in 3.0), then import, the expert, then load new fuel again.

I have been doing this since Pharo 1.4 until 4.0 since my client's app also
uses Fuel. And the process was always quite simple and only once per
release.

Migration is something we miss in Fuel..and even if we have promised to
keep format unchanged, sometimes the evolution of Pharo itself (not the
internal Fuel format representation) makes the format to be broken from one
version to the other. So until we have a better automagic migration tool,
the above trick should work.

Also...see this link:
http://rmod.inria.fr/web/software/Fuel/Version1.9/Documentation/FormatMigration


Btw...here is the scrip I used to migrate from 1.8 to 1.9... this is just
an EXAMPLE of how you can do it..but do not copy it becuase it uses old
version of the code repositories, etc...



| oldVersion newVersion fileNames objectsByFileName materializerClass |

oldVersion := '1.8'.
 newVersion := '1.9'.
 fileNames := #(

'/Users/mariano/XXX/aaaaDB.fdb'
'/Users/mariano/XXX/bbbbDB.fdb'
'/Users/mariano/XXX/ccccDB.fdb'
'/Users/mariano/XXX/ddddDB.fdb'
'/Users/mariano/XXX/eeeeDB.fdb'
'/Users/mariano/XXX/ffffDB.fdb'
).
 objectsByFileName := Dictionary new.

 materializerClass := Smalltalk at: #FLMaterializer.

 fileNames do: [ :fileName |
  objectsByFileName
  at: fileName
  put: (materializerClass materializeFromFileNamed: fileName).
FileDirectory default copyFileNamed: fileName toFileNamed: fileName, '-',
oldVersion asString ].

Gofer it
squeaksource3: 'Fuel';
package: 'ConfigurationOfFuel';
load.
 (ConfigurationOfFuel project version: newVersion) load.

 objectsByFileName keysAndValuesDo: [ :fileName :objects |
FLSerializer
  serialize: objects
  toFileNamed: fileName.
FileDirectory default copyFileNamed: fileName toFileNamed: fileName, '-',
newVersion asString
   ].



On Thu, Apr 30, 2015 at 9:19 AM, Norbert Hartl <norb...@hartl.name> wrote:

>
> Am 30.04.2015 um 14:08 schrieb Johannes Rasche Kreuzberg <
> johan...@rasche-kreuzberg.de>:
>
> Hi folks,
>
> I'm just migrating to Pharo 4.0
>
> On materialization of objects serialized under Pharo 3
> an error was raised: different versions numbers ( 194 required ).
>
> Where does version 194 come from ?
> Monticello from Pharo 3 offers 193
>
> Johannes
>
> You need to add the repository of Fuel, load the ConfigurationOf from
> there and you can upgrade to 1.9.4
>
> The repository to add is
>
> http://smalltalkhub.com/mc/Pharo/Fuel/main
>
> Norbert
>
>


-- 
Mariano
http://marianopeck.wordpress.com

Reply via email to