cloudroam
2025-04-10 5fc9567cfa6b6beee4f52a9f835f304865d693e1
app/src/main/java/com/example/firstapp/database/AppDatabase.kt
@@ -10,32 +10,33 @@
import com.example.firstapp.database.dao.CodeDao
import com.example.firstapp.database.dao.KeywordDao
import com.example.firstapp.database.dao.MsgDao
import com.example.firstapp.database.dao.ReminderDao
import com.example.firstapp.database.entity.Code
import com.example.firstapp.database.entity.KeywordEntity
import com.example.firstapp.database.entity.Msg
import com.example.firstapp.database.entity.Reminder
import com.example.firstapp.utils.DATABASE_NAME
import com.example.firstapp.utils.SettingUtils
import com.example.firstapp.utils.TAG_LIST
import com.example.firstapp.database.ext.ConvertersDate
import com.example.firstapp.model.CourierStat
import com.example.firstapp.model.DailyStat
import com.example.firstapp.database.dao.ReminderDao
import com.example.firstapp.database.dao.ReminderRecordDao
import com.example.firstapp.database.entity.Reminder
import com.example.firstapp.database.entity.ReminderRecord
@Database(
    entities = [
        Msg::class, 
        Code::class, 
        KeywordEntity::class,
        Reminder::class
        KeywordEntity::class,
        Reminder::class,
        ReminderRecord::class
    ],
    views = [
        CourierStat::class,
        DailyStat::class
    ],
    version = 20,
    version = 21,
    exportSchema = false
)
@TypeConverters(ConvertersDate::class)
@@ -44,6 +45,7 @@
    abstract fun codeDao(): CodeDao
    abstract fun keywordDao(): KeywordDao
    abstract fun reminderDao(): ReminderDao
    abstract fun reminderRecordDao(): ReminderRecordDao
    companion object {
        @Volatile
@@ -64,8 +66,8 @@
                    }
                }).addMigrations(
                    MIGRATION_MSG,
                    MIGRATION_20_21
                )
            /*if (BuildConfig.DEBUG) {
@@ -139,6 +141,39 @@
            }
        }
        private val MIGRATION_20_21 = object : Migration(20, 21) {
            override fun migrate(database: SupportSQLiteDatabase) {
                // 创建 reminders 表
                database.execSQL(
                    """
                    CREATE TABLE IF NOT EXISTS reminders (
                        id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                        categoryId INTEGER NOT NULL,
                        categoryName TEXT NOT NULL,
                        notificationMethod TEXT NOT NULL,
                        isEnabled INTEGER NOT NULL DEFAULT 1,
                        createdAt INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)
                    )
                    """
                )
                // 创建 reminder_records 表
                database.execSQL(
                    """
                    CREATE TABLE IF NOT EXISTS reminder_records (
                        id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                        categoryId INTEGER NOT NULL,
                        categoryName TEXT NOT NULL,
                        content TEXT NOT NULL,
                        notificationMethod TEXT NOT NULL,
                        status INTEGER NOT NULL DEFAULT 0,
                        createdAt INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)
                    )
                    """
                )
            }
        }
    }
}