Android использует SQLite v3.19.Это делает переименование столбца с использованием RENAME COLUMN невозможным.Лучший подход - воссоздать таблицу. - Лео Пелозо
Похоже, мне нужно создать функцию, которая удаляет таблицу, чтобы я мог создать новую.
@Query("DELETE FROM items")
void dropTable();
... затем создайте таблицу снова, хотя я не уверен, как это сделать.
Обновление:
Я смог (думаю, мы будемсмотри ...) чтобы воссоздать таблицу, вызвав вышеуказанную функцию, удалив ВСЕ миграции и установив версию базы данных обратно на 1. Затем я заново определил сам класс базы данных с правильными именами и т. д. и смог вставить данныев это без каких-либо ошибок.Добавление .fallbackToDestructiveMigration()
в мою базу данных синглтон-класса также было необходимо.
Лично я считаю, что это немного нелепо только для простого переименования столбца;Мне никогда не удавалось просто переименовать столбец и добавить миграцию для изменения, а также я не смог удалить таблицу и заново создать ее с правильным именем столбца и добавить ее в качестве миграции.Но, увы, это ведь Android.