package no.naiv.meddetsamme.data import android.content.Context import androidx.room.Database import androidx.room.Room import androidx.room.RoomDatabase /** * exportSchema=true with schemas/ committed: this DB holds a medical record, * so every future schema change ships as a tested Migration against the * exported baseline — never destructive fallback. * * Enums are stored as TEXT (Room's built-in enum converter); all other columns * are primitives, so no TypeConverters are needed yet. */ @Database( entities = [Medication::class, DoseTime::class, DoseLog::class], version = 1, exportSchema = true, ) abstract class MedDatabase : RoomDatabase() { abstract fun medicationDao(): MedicationDao abstract fun doseTimeDao(): DoseTimeDao abstract fun doseLogDao(): DoseLogDao companion object { @Volatile private var instance: MedDatabase? = null fun get(context: Context): MedDatabase = instance ?: synchronized(this) { instance ?: Room.databaseBuilder( context.applicationContext, MedDatabase::class.java, "med-det-samme.db", ).build().also { instance = it } } } }