package com.vgmlr.kiln
import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
import androidx.room.TypeConverters
@Database(
entities = [KilnAccount::class, KilnDayRecord::class, KilnButton::class],
version = 9
)
@TypeConverters(KilnConverters::class)
abstract class KilnDb : RoomDatabase() {
abstract fun dayRecordDao(): KilnDayRecordDao
abstract fun accountDao(): KilnAccountDao
abstract fun buttonDao(): KilnButtonDao
companion object {
@Volatile private var instance: KilnDb? = null
fun get(context: Context): KilnDb =
instance ?: synchronized(this) {
instance ?: Room.databaseBuilder(
context.applicationContext, KilnDb::class.java, "kiln.db"
).fallbackToDestructiveMigration(dropAllTables = true)
.build().also { instance = it }
}
}
}