Может ли sugarorm автоматически удалять поля, которые больше не используются?
Я начинаю с SugarORM и заметил, что он может автоматически добавлять поля без необходимости создания сценариев sql (просто увеличивая номер версии в manifest.xml)
Пример: ALTER TABLE CLIENT ADD COLUMN PRENOM TEXT перед первым использованием Client.Save()
Есть ли параметр, чтобы попросить SugarORM автоматически удалить больше не используемых полей таким же образом?
1 ответ
SQLite
поддерживает ограниченное подмножествоALTER TABLE
,ALTER TABLE
команда вSQLite
позволяет пользователю переименовывать таблицу или добавлять новый столбец в существующую таблицу. Невозможно переименовать столбец, удалить столбец или добавить или удалить ограничения из таблицы.
В SQLite
вы можете:
(1). создать новую таблицу как ту, которую вы пытаетесь изменить (без столбца для удаления)
(2). скопировать все данные (кроме столбца, который вы хотите удалить)
(3). уронить старый стол
(4). переименуйте новую таблицу в старое имя.
Так как android-sugarorm
(sugarorm
) использует SQLite
под ним невозможно использовать ALTER TABLE
удалить столбец (поле), чтобы это не делалось автоматически.
См. Также Перенос базы данных из предыдущей версии.
SQLite FAQ