Таблица DROP с использованием библиотеки сохранения состояния комнаты

Есть ли способ сбросить столы прямо при использовании Room. Я пробовал приведенный ниже код в классе DAO @Query( "DROP TABLE IF EXISTS 'tablename'" ) void dropFavoriteShowEpisodeTable();, но я не могу построить, и ошибка

НЕИЗВЕСТНЫЙ тип запроса пока не поддерживается. Вы можете использовать: УДАЛИТЬ, ОБНОВИТЬ, ВЫБРАТЬ

Я понимаю, что во время миграции я могу напрямую удалять таблицы, используя

database.execSQL( "DROP TABLE IF EXISTS 'tablename' );

Но что, если я захочу отказаться от стола на более позднем этапе. Как этого добиться? заранее спасибо


person XylemRaj    schedule 22.11.2018    source источник
comment
Я не уверен, чего вы хотите этим добиться. как вы говорите, удаление таблицы и обновление структуры базы данных можно и нужно делать во время миграции. но отбрасывать стол позже - не очень разумно. если он должен быть пустым, просто удалите все строки. но удаление таблицы в реальном времени создает в вашем приложении множество моментов, допускающих значение NULL.   -  person quantum apps    schedule 22.11.2018
comment
проверьте @RawQuery или RoomDatabse.query ()   -  person yeonseok.seo    schedule 22.11.2018
comment
прочтите о developer.android.com/reference/android/arch/persistence/ комната /   -  person Android Team    schedule 22.11.2018
comment
@quantumapps Вы правы. Лучше очистить все записи, чем бросить.   -  person XylemRaj    schedule 22.11.2018
comment
@ yeonseok.seo Угу, не думаю, что это поможет. В любом случае спасибо   -  person XylemRaj    schedule 22.11.2018


Ответы (1)


No Room вообще не поддерживает Drop. Вам нужно удалить все записи, используя

DELETE * FROM TABLENAME
person Taha wakeel    schedule 22.11.2018