package com.dano.test1 import android.app.Application import android.util.Log import androidx.room.Room import androidx.room.RoomDatabase import com.dano.test1.data.AppDatabase /* MyApp (Application) - Einstiegspunkt der App, der einmal pro Prozessstart initialisiert wird. Besonderheiten der DB-Konfiguration: - Name: "questionnaire_database" - fallbackToDestructiveMigration(): * Falls sich das Schema ändert und keine Migration vorliegt,wird die DB zerstört und neu angelegt. - setJournalMode(TRUNCATE): * Verwendet TRUNCATE-Journal (keine separaten -wal/-shm Dateien), es existiert nur die Hauptdatei „questionnaire_database“. - Callback onOpen(): * Loggt beim Öffnen der Datenbank einen Hinweis. */ class MyApp : Application() { companion object { lateinit var database: AppDatabase private set } override fun onCreate() { super.onCreate() // Room-Datenbank bauen: nur die Hauptdatei, ohne WAL und Journal database = Room.databaseBuilder( applicationContext, AppDatabase::class.java, "questionnaire_database" ) .fallbackToDestructiveMigration() .setJournalMode(RoomDatabase.JournalMode.TRUNCATE) // TRUNCATE = keine -wal Datei, nur Hauptdatei .addCallback(object : RoomDatabase.Callback() { override fun onOpen(db: androidx.sqlite.db.SupportSQLiteDatabase) { super.onOpen(db) Log.d("DB", "Datenbank geöffnet. Nur questionnaire_database wird genutzt.") } }) .build() } }