0

我即将发布一个 Android 应用程序,我有点担心数据库版本控制。

问题是我只在执行期间使用数据库,每次启动应用程序时我都会删除所有内容,因为它们不需要是持久的。代码是这样的:

public synchronized void createDatabase() {
    if (database == null) {
        database =  this.openOrCreateDatabase(DATABASENAME, MODE_PRIVATE, null);
    }

    database.execSQL("DROP TABLE IF EXISTS " + Xxxxxxxx.TABLE_NAME);
    database.execSQL("DROP TABLE IF EXISTS " + Yyyyyyyy.TABLE_NAME);
    database.execSQL("DROP TABLE IF EXISTS " + Oooooooo.TABLE_NAME);
    database.execSQL("DROP TABLE IF EXISTS " + Ppppppppp.TABLE_NAME);
    database.execSQL("DROP TABLE IF EXISTS " + Mmmmmmmmm.TABLE_NAME);
    database.execSQL("DROP TABLE IF EXISTS " + Aaaaaaaaa.TABLE_NAME);

    database.execSQL(Xxxxxxxx.CREATE_PROVIDERS_TABLE);
    database.execSQL(Yyyyyyyy.CREATE_CONTENTS_TABLE);
    database.execSQL(Oooooooo.CREATE_EVENTS_TABLE);
    database.execSQL(Ppppppppp.CREATE_EVENTS_ANSWERS_TABLE);
    database.execSQL(Mmmmmmmmm.CREATE_CATEGORY_TABLE);
    database.execSQL(Aaaaaaaaa.CREATE_SUBCATEGORY_TABLE);
}

我的问题是,考虑到我在启动应用程序时如何删除所有内容,是否需要控制不同的版本?如果将来我添加一个新列怎么办?它会正常工作吗?

提前致谢

4

2 回答 2

0

我认为您根本不需要担心数据库版本控制。

如果您在将来的版本中实际更改了数据库架构,则无关紧要,因为所有表都将在下次启动时被删除/重新创建。

于 2012-11-28T09:35:11.490 回答
0

考虑到我在启动应用程序时如何删除所有内容,是否需要控制不同的版本?如果将来我添加一个新列怎么办?它会正常工作吗?

您正在删除所有表并重新创建它们,因此您不需要控制数据库的版本,如果升级现有数据库并修改表,则必须更改数据库的版本。希望这会有所帮助

于 2012-11-28T09:46:59.080 回答