Android 升级数据库。我可以更改表还是需要创建新表?
我正在我的应用程序中使用一个数据库,该数据库目前位于Google Play上。现在我发布了一个更新,并在现有表中添加了一个新列。看起来我需要使用Android 升级数据库。我可以更改表还是需要创建新表?,android,sqlite,upgrade,Android,Sqlite,Upgrade,我正在我的应用程序中使用一个数据库,该数据库目前位于Google Play上。现在我发布了一个更新,并在现有表中添加了一个新列。看起来我需要使用SQLiteOpenHelper类的onUpgrade()方法。我只是想知道我是否需要重新创建整个表,这将导致备份/恢复(这是一个复杂的)过程,或者我可以在升级时更改它?我应该如何处理代码中的升级?实现onUpgrade()方法就足够了吗?可能是个好例子?非常感谢您的意见,非常感谢。是的,您可以更改表格。无需再次创建它 private stati
SQLiteOpenHelper
类的onUpgrade()
方法。我只是想知道我是否需要重新创建整个表,这将导致备份/恢复(这是一个复杂的)过程,或者我可以在升级时更改它?我应该如何处理代码中的升级?实现onUpgrade()
方法就足够了吗?可能是个好例子?非常感谢您的意见,非常感谢。是的,您可以更改表格。无需再次创建它
private static final String ALTER_USER_TABLE_ADD_USER_SOCIETY = "ALTER TABLE user_table ADD user_society TEXT";
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
if(newVersion > oldVersion)
{
db.execSQL(ALTER_USER_TABLE_ADD_USER_SOCIETY);
}
}
这些新版本和旧版本是什么?它们是从哪里来的?在onUpgrade()方法中。旧的和新的是数据库版本,因为更改数据库版本时会调用onUpgrade方法。