My app is in production and I want to manage user data when user updates the app without loss of their data, how can I achieve this with sqflite
. Explicitly I want to add a column and delete another.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can probably add a column using raw sql, but sqlite (and thus sqflite) doesn't support dropping a column. For that you would need to do the following:
- increase the database version number
- in
onUpgrade
copy the old database columns to a temporary table - delete the original table
- create a new table using the original table name but with the right schema
- copy the data from the temp table
- delete the temp table
Sorry, this isn't a full answer, but it is the direction I would go if I were in your situation.