Android Room изменить тип столбца с миграцией - PullRequest
0 голосов
/ 07 декабря 2018

Я не нашел ответа на то, что ищу, поэтому отправляю этот вопрос.

Я использую Room for Android.

У меня есть объект сСтолбец Int, и мне нужно изменить его на Double, и я не знаю, как это сделать.

Кто-нибудь знает, как это сделать?

Мой вопрос может быть глупым, но яне нашел ответа по stackoverflow / поиску в Google.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Как упомянуто в документации для sqlite более здесь , обновление типа столбца не поддерживается в sqlite.

SQLite поддерживает ограниченное подмножество ALTER TABLE.Команда ALTER TABLE в SQLite позволяет пользователю переименовать таблицу или добавить новый столбец в существующую таблицу.Невозможно переименовать столбец, удалить столбец или добавить или удалить ограничения из таблицы.

Как указано Себастьян М , вам нужно будет создать новую таблицу сдобавлен новый столбец. Скопируйте данные из старой таблицы в новую.Оставьте старый стол.Переименуйте новую таблицу в имя старой таблицы.

0 голосов
/ 07 декабря 2018

Вам необходимо создать новую таблицу с новой схемой.Скопируйте данные из старой таблицы в новую.Оставьте старый стол.Переименуйте новую таблицу в имя старой таблицы.

Вот вам хорошая статья об этом: https://medium.com/androiddevelopers/understanding-migrations-with-room-f01e04b07929

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...