trail-sense-database-persistence
Add new Room database persistence to Trail-Sense Android app. Use when the user asks to create, add, or implement database persistence for a model, including Entity, DAO, Repository, and AppDatabase migration. Covers entity-to-model mapping, index configuration, and standard
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Add new Room database persistence to Trail-Sense Android app. Use when the user asks to create, add, or implement database persistence for a model, including Entity, DAO, Repository, and AppDatabase migration. Covers entity-to-model mapping, index configuration, and standard CRUD operations.
How to use
Przygotuj domenę — upewnij się, że model domenowy istnieje w katalogu app/src/main/java/com/kylecorry/trail_sense/tools/{toolName}/domain/ lub poproś skill aby go utworzył. Skill będzie mapować między modelem domenowym a encją Room.
Wygeneruj encję — skill utworzy plik {Model}Entity.kt w katalogu infrastructure/persistence/ z adnotacjami @Entity, @ColumnInfo i @PrimaryKey. Określ nazwę tabeli (liczba mnoga, małe litery, snake_case) oraz indeksy dla kluczy obcych i kolumn często przeszukiwanych.
Utwórz DAO — skill wygeneruje interfejs {Model}Dao.kt z metodami CRUD (insert, update, delete, query). DAO będzie zawierać standardowe operacje dostępu do danych.
Zaktualizuj AppDatabase — skill doda DAO do klasy AppDatabase.kt i wygeneruje migrację. Jeśli potrzebujesz nowych konwerterów typów, skill zaktualizuje też plik Converters.kt.
Utwórz Repository — skill wygeneruje {Model}Repo.kt opakowujący DAO i udostępniający logikę biznesową. Repository będzie interfejsem między warstwą domenową a bazą danych.
Zarejestruj singleton — skill zaktualizuje {ToolName}ToolRegistration.kt, aby zarejestrować instancję repozytorium jako singleton dostępny w całej aplikacji.