class MigrationTool extends AnyRef
Migration from another Pekko Persistence plugin to the R2DBC plugin. Converts events and snapshots. It has been tested
with pekko-persistence-jdbc
as source plugin, but it should work with any plugin that has support for
CurrentPersistenceIdsQuery
and CurrentEventsByPersistenceIdQuery
.
It can be run as a main class org.apache.pekko.persistence.r2dbc.migration.MigrationTool
with configuration in
application.conf
or embedded in an application by creating an instance of MigrationTool
and invoking
migrateAll
.
It can be run while the source system is still active and it can be run multiple times with idempotent result. To
speed up processing of subsequent runs it stores migrated persistence ids and sequence numbers in the table
migration_progress
. In a subsequent run it will only migrate new events and snapshots compared to what was stored
in migration_progress
. It will also find and migrate new persistence ids in a subsequent run. You can delete from
migration_progress
if you want to re-run the full migration.
Note: tags are not migrated.
- Alphabetic
- By Inheritance
- MigrationTool
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new MigrationTool(system: ActorSystem[_])
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def migrateAll(): Future[Result]
Migrates events and snapshots for all persistence ids.
- def migrateEvents(persistenceId: String): Future[Long]
Migrate events for a single persistence id.
- def migrateSnapshot(persistenceId: String): Future[Int]
Migrate latest snapshot for a single persistence id.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()