|
|
|
|
@ -70,7 +70,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
* 当数据库版本变更时,onUpgrade方法会被调用以执行升级逻辑。
|
|
|
|
|
* </p>
|
|
|
|
|
*/
|
|
|
|
|
private static final int DB_VERSION = 8;
|
|
|
|
|
private static final int DB_VERSION = 9;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 数据库表名常量接口
|
|
|
|
|
@ -559,6 +559,12 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
oldVersion++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 从V8升级到V9
|
|
|
|
|
if (oldVersion == 8) {
|
|
|
|
|
upgradeToV9(db);
|
|
|
|
|
oldVersion++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 如果需要,重新创建触发器
|
|
|
|
|
if (reCreateTriggers) {
|
|
|
|
|
reCreateNoteTableTriggers(db);
|
|
|
|
|
@ -630,6 +636,30 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
+ " TEXT NOT NULL DEFAULT ''");
|
|
|
|
|
Log.i(TAG, "Fixed: Added missing TITLE column in onOpen");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check for missing GTASK columns
|
|
|
|
|
boolean hasGTaskColumns = false;
|
|
|
|
|
if (cursor != null) {
|
|
|
|
|
if (cursor.getColumnIndex(NoteColumns.GTASK_PRIORITY) != -1) {
|
|
|
|
|
hasGTaskColumns = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!hasGTaskColumns) {
|
|
|
|
|
try {
|
|
|
|
|
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_PRIORITY
|
|
|
|
|
+ " INTEGER NOT NULL DEFAULT 0");
|
|
|
|
|
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_DUE_DATE
|
|
|
|
|
+ " INTEGER NOT NULL DEFAULT 0");
|
|
|
|
|
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_STATUS
|
|
|
|
|
+ " INTEGER NOT NULL DEFAULT 0");
|
|
|
|
|
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_FINISHED_TIME
|
|
|
|
|
+ " INTEGER NOT NULL DEFAULT 0");
|
|
|
|
|
Log.i(TAG, "Fixed: Added missing GTASK columns in onOpen");
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
Log.e(TAG, "Failed to add GTASK columns in onOpen", e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (cursor != null) {
|
|
|
|
|
cursor.close();
|
|
|
|
|
@ -760,4 +790,27 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
|
|
|
|
|
Log.e(TAG, "Failed to add TITLE column in V8 upgrade (it probably already exists)", e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 升级数据库到V9版本
|
|
|
|
|
* <p>
|
|
|
|
|
* 添加GTASK相关列:优先级、截止日期、状态、完成时间。
|
|
|
|
|
* </p>
|
|
|
|
|
*
|
|
|
|
|
* @param db SQLiteDatabase实例
|
|
|
|
|
*/
|
|
|
|
|
private void upgradeToV9(SQLiteDatabase db) {
|
|
|
|
|
try {
|
|
|
|
|
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_PRIORITY
|
|
|
|
|
+ " INTEGER NOT NULL DEFAULT 0");
|
|
|
|
|
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_DUE_DATE
|
|
|
|
|
+ " INTEGER NOT NULL DEFAULT 0");
|
|
|
|
|
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_STATUS
|
|
|
|
|
+ " INTEGER NOT NULL DEFAULT 0");
|
|
|
|
|
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_FINISHED_TIME
|
|
|
|
|
+ " INTEGER NOT NULL DEFAULT 0");
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
Log.e(TAG, "Failed to add GTASK columns in V9 upgrade", e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|