Jak zrobić migrację z Prevayler/Airomem?

Jak zrobić migrację z Prevayler/Airomem?
OP
Michał Sikora
Michał Sikora
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Kraków
  • Postów:834
0

Mam plan napisać małą aplikację webową i będzie mi potrzebny jakiś rodzaj zapisu na dysk. Pomyślałem, że spróbuję skorzystać z Airomema. Pobawiłem się chwilę i ogólnie wszystko spoko działa, ale mam pewien problem. Podejrzewam, że pisana przeze mnie aplikacja będzie rozwijana bardzo iteracyjnie i potrzeba migracji może często wystąpić. Da się ją w jakiś sensowny sposób zapewnić przy tego typu bibliotece?

Wzywam @jarekr000000, bo promuje tę bibliotekę.

jarekr000000
  • Rejestracja:około 9 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4712
1

Kurteczka - widze, że jakoś cały mój post się nie zapisał. Dramat.

Ale przez to napisze jeszcze raz zwięźlej.

  1. zawsze miej serialVersionUID w Komendach i w Domenie
  2. możesz migrować na podstawie eventów -> kasujesz snapshoty, piszesz nową domenę i zmieniasz kod komend na nowy)
    odpalasz - robi sie reinterpetacja. Ważne, żeby nie zmieniać pól komend - tylko kod w execute
  3. Domena - migracja snapshotów (jak sysem ma długa historię może być konieczna)
  4. dodawanie pól (które stają sie (po wczytaniu nullami) to nie problem
  5. większe zmiany to rzeźba -
    albo uczysz się serializacji i myków typu readResolve
    albo robisz zrzut do XML, transformujesz XML, zmieniasz domenę i wczytujesz.
    (do opcji 2 zawsze miałem napisać kod, który by to automatyzował... ale mi się nie chciało).

jeden i pół terabajta powinno wystarczyć każdemu
edytowany 2x, ostatnio: jarekr000000

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.