mana-kotlin-event-sync-room/README.md
Till JS f8410ddfb5 mana-kotlin-event-sync-room 0.4.0 — Room-Adapter aus den 5 App-Kopien extrahiert
EventSyncDatabase/EventSyncDao/RoomEventStore (Schema identisch zu den
per-App-Kopien, version 1) + createEventSyncDatabase-Factory. Lockstep-
Versionierung mit mana-kotlin-event-sync.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 22:02:08 +02:00

1.4 KiB

mana-kotlin-event-sync-room

Room-Adapter für ev.mana:mana-kotlin-event-sync — die Android-Persistenz (EventStore-Implementierung) zur sonst pure-JVM-Engine. Ersetzt die früheren identischen per-App-Kopien (RoomEventStore/EventSyncDao/ EventSyncDb in wordeck/pageta/zitare/nutriphi/stetick-android).

  • Artefakt: ev.mana:mana-kotlin-event-sync-room (Forgejo-Maven, git.mana.how/api/packages/till/maven)
  • Versionierung: Lockstep mit mana-kotlin-event-sync (gleiche Version).
  • Inhalt: EventSyncDatabase (Room, version 1: events/outbox/meta), EventSyncDao, RoomEventStore, createEventSyncDatabase(context, name).

Migration aus einer App-Kopie

// vorher (per-App-Kopie):
val db = Room.databaseBuilder(context, WordeckDatabase::class.java, "wordeck.db").build()
val store = RoomEventStore(db.dao())

// nachher:
import ev.mana.eventsync.room.RoomEventStore
import ev.mana.eventsync.room.createEventSyncDatabase
val db = createEventSyncDatabase(context, "wordeck.db") // ALTER DB-Name!
val store = RoomEventStore(db.dao())

Wichtig: Der DB-Dateiname muss der bisherige bleiben — das Schema ist identisch (version 1), bestehende Event-Logs werden nahtlos weiterverwendet.

Build

JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home" ./gradlew assembleRelease
FORGEJO_TOKEN=… ./gradlew publish