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

36 lines
1.4 KiB
Markdown

# 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
```kotlin
// 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
```bash
JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home" ./gradlew assembleRelease
FORGEJO_TOKEN=… ./gradlew publish
```