Releases: SwissBorg/akka-persistence-postgres
v0.4.0
Highlights
This release is focused on making migration from JDBC 4.0.0 as frictionless as possible.
Since we decided to extract metadata from the serialised payload and store it in a separate column it is not possible to migrate exiting journal and snapshot store using plain SQL scripts.
Each journal event and snapshot has to be read, deserialised, metadata and tags must be extracted and then everything stored in the new table.
Version 0.4.0 provides all the necessary utils to automate the above process #120 #123
See the official documentation for more informations.
v0.3.5
v0.3.4
v0.3.3
v0.3.2
Highlights
This release introduces a couple of fixes and improvements.
- CachedTagIdResolver no longer bothers with nasty WARNs logged by underlying Caffeine #105
- Make journal event and snapshot metadata more compact.This is done by abbreviating jsonb keys (while the previous, long keys are still supported in the decoder) and skipping entries with blank values. Since the new serialisers are backward compatible, no migration is required. #106
v0.3.1
Highlights
This release introduces a couple of fixes and improvements for the Migration Tool.
v0.3.0
Highlights
- Store metadata in a separate column and serialize the raw message #91 #94 #95 #98
- Provide Migration Tool that converts v0.2.0 journal and snapshshot store into v0.3.0 model #96 #100
Migration from 0.2.0 and 0.1.0
In order to migrate from older versions of this plugin you have to run the Migration Tool during the application startup, before persistence extension is initialized.
The provided tool keeps track of already applied migrations, so it performs each of them only once.
Can multiple nodes migrate in parallel?
Migration Tool uses Flyway which coordinates multi-node migrations using database locks. This ensures that even if multiple instances of your application attempt to migrate the database at the same time, it still works.
Adding Migration Tool to your project
The Migration Tool is distributed as a separate artifact that must be added to your libraryDependencies
:
libraryDependencies += "com.swissborg" %% "akka-persistence-postgres-migration" % "0.3.0"
Using Migration Tool
Initializing and running the tool is as simple as:
AkkaPersistencePostgresMigration.configure(applicationConfig).build(actorSystem).run