两个月前,我在Google Play商店发布了一款应用。现在我想发布一个新版本的应用程序,但我必须修改数据库。我必须创建一些新列并且必须删除一些但现在我害怕我的用户将丢失他们的数据。在不丢失任何数据的情况下更改数据库的最佳方法是什么?
答案 0 :(得分:2)
假设您使用SQLiteOpenHelper
,请递增您传递给构造函数的数据库版本。将调用onUpgrade()
回调,以便您可以正确地迁移架构和用户数据。
您可以使用ALTER TABLE
添加列。要删除列,您必须创建一个新表,复制数据然后删除旧表。 (您也可以使用ALTER TABLE
重命名表。)