package com.dano.test1.data import androidx.room.Database import androidx.room.RoomDatabase /* Zentrale Room-Datenbank der App. Diese Klasse beschreibt: - welche Tabellen (entities) es gibt: Client, Questionnaire, Question, Answer, CompletedQuestionnaire - die Datenbank-Version (version = 1) für Migrations/Schema-Updates Über die abstrakten DAO-Getter (clientDao(), questionnaireDao(), …) erhält der Rest der App Typsichere Zugriffe auf die jeweiligen Tabellen. Hinweis: - Room erzeugt zur Build-Zeit die konkrete Implementierung dieser abstrakten Klasse. - Eine Instanz der Datenbank wird typischerweise per Room.databaseBuilder(...) erstellt und als Singleton verwendet. */ @Database( entities = [ Client::class, Questionnaire::class, Question::class, Answer::class, CompletedQuestionnaire::class ], version = 1, exportSchema = false ) abstract class AppDatabase : RoomDatabase() { abstract fun clientDao(): ClientDao abstract fun questionnaireDao(): QuestionnaireDao abstract fun questionDao(): QuestionDao abstract fun answerDao(): AnswerDao abstract fun completedQuestionnaireDao(): CompletedQuestionnaireDao }