Dynabook icon indicating copy to clipboard operation
Dynabook copied to clipboard

Migrating Data

Open seandenigris opened this issue 1 year ago • 1 comments

This should be stored as documentation and closed...

Feedback has shown that it can be complicated for users to migrate data from one version to another. One avenue of attack is to make the data format and materialization smarter.

Here we document some best practices:

  1. In the source image - before migrating - upgrade fuel to the version you expect to use in the new image. Here is an example script (NB if you are not on GT, you may not need to remove all the packages first):
fuelPackages := RPackage organizer packages select: [ :e | e name beginsWith: 'Fuel-' ].
fuelPackages do: #removeFromSystem

Metacello new
    repository: 'github://theseion/Fuel:5.2.1';
    baseline: 'Fuel';
    onConflict: #useIncoming;
    load.

FLVersion current

If much time has gone by (e.g. years) this might not be possible because the desired Fuel version might not be loadable in a very old Pharo image. More detail about that special case can be found in PharoEnhancement's "Fuel Migration" Lepiter page

  1. If jumping from one consecutive version to the next, we should be able to handle migration automatically because SimplePersistence now provides this. Dynabook is already using this feature. Longer jumps between distant versions might be possible too, but is untested.

seandenigris avatar May 15 '23 10:05 seandenigris