Flutter - Как обновить структуру таблицы в Sqflite? - PullRequest
0 голосов
/ 08 января 2019

Мое приложение работает, и я хочу управлять пользовательскими данными, когда пользователь обновляет приложение без потери своих данных, как я могу добиться этого с помощью sqflite. Я хочу добавить столбец и удалить другой.

1 Ответ

0 голосов
/ 08 января 2019

Вероятно, вы можете добавить столбец , используя raw sql, но sqlite (и, следовательно, sqflite) не поддерживает удаление столбца. Для этого вам необходимо сделать следующее:

  • увеличить номер версии базы данных
  • in onUpgrade скопировать старые столбцы базы данных во временную таблицу
  • удалить исходную таблицу
  • создать новую таблицу, используя исходное имя таблицы, но с правильной схемой
  • скопировать данные из временной таблицы
  • удалить временную таблицу

Извините, это не полный ответ, но в этом направлении я бы пошел, если бы оказался в вашей ситуации.

...