【发布时间】:2018-01-29 02:47:00
【问题描述】:
我创建了一个应用程序,它在 Play 商店中运行,它有 3 个表,我想为一个表添加另外两列并从另一个表中删除一列。如果我这样做并将其更新到 playstore 会不会对现有用户数据库造成任何影响,或者他们想要卸载应用程序以获取这些新更改? 如果有什么好的方法可以用来更新表格而不影响用户的数据。
【问题讨论】:
标签: android sqlite cordova ionic-framework
我创建了一个应用程序,它在 Play 商店中运行,它有 3 个表,我想为一个表添加另外两列并从另一个表中删除一列。如果我这样做并将其更新到 playstore 会不会对现有用户数据库造成任何影响,或者他们想要卸载应用程序以获取这些新更改? 如果有什么好的方法可以用来更新表格而不影响用户的数据。
【问题讨论】:
标签: android sqlite cordova ionic-framework
你应该使用 onUpgrade
当数据库需要升级时调用。实施 应该使用此方法删除表、添加表或执行其他任何操作 它需要升级到新的架构版本。
示例
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion < 3) {
db.execSQL("ALTER TABLE " + TABLE_NAME + " ADD COLUMN mobile_no INTEGER;");
db.execSQL("ALTER TABLE " + TABLE_NAME + " ADD COLUMN phone_no INTEGER;");
}
}
【讨论】: