Pith - kiln
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 }
            }
    }
}