У меня есть настройка базы данных в Android прямо сейчас. база данных и таблицы работают нормально. Однако, когда я хочу добавить новую таблицу и использовать onUpgrade - база данных создается, но не работает должным образом. Как в таблице выглядит создан, но я не могу добавить данные к нему. при попытке приложения вылетает. Все таблицы версии 1 по-прежнему выглядят хорошо.
вот как выглядит мой onUpgrade:
private val newDatabase = listOf<String>(
"Database1"
)
override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
newDatabase.forEach{
val table2 = "CREATE TABLE $it ($ID INTEGER PRIMARY KEY, $AVERAGETIME TEXT DEFAULT \"0\",$DATE TEXT DEFAULT \"0\")"
db?.execSQL(table2)
}
}
мой oncreate выглядит точно так же, просто использует другой массив строк:
override fun onCreate(db: SQLiteDatabase?) {
originalDatabase.forEach {
val table1 =
"CREATE TABLE $it ($ID INTEGER PRIMARY KEY, $AVERAGETIME TEXT DEFAULT \"0\",$DATE TEXT DEFAULT \"0\")"
db?.execSQL(table1)
}
}
Это лучший способ добавить новую таблицу? после того, как таблица сделана, она кажется пустой и работает неправильно. хотя для него установлены значения по умолчанию.
Я пытался просмотреть другие сообщения, но не могу найти ни одного конкретного ответа