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>
1.4 KiB
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