Skip to content

Commit 9bb2542

Browse files
committed
Add pending field to report category and upgrade db version number
1 parent 003438f commit 9bb2542

File tree

2 files changed

+19
-121
lines changed

2 files changed

+19
-121
lines changed

Diff for: Core/src/com/ushahidi/android/app/database/Database.java

+18-120
Original file line numberDiff line numberDiff line change
@@ -97,131 +97,29 @@ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
9797
Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
9898
+ newVersion + " which destroys all old data");
9999

100-
List<String> addIncidentColumns;
101-
List<String> checkinsColums;
102-
List<String> usersColumns;
103-
List<String> deploymentColumns;
104-
List<String> categoriesColumns;
100+
List<String> reportCategoryColumns;
101+
105102
try {
106-
// upgrade incident table
107-
Log.i("Upgrading", "Upgrading incidents table");
108-
dropColumn(db, IReportSchema.INCIDENTS_TABLE_CREATE,
109-
IReportSchema.INCIDENTS_TABLE, new String[] {
110-
IReportSchema.INCIDENT_CATEGORIES,
111-
IReportSchema.INCIDENT_MEDIA,
112-
IReportSchema.INCIDENT_IMAGE, "is_unread" });
113-
114-
// upgrade category table
115-
Log.i("Upgrading", "Upgrading categories table");
116-
dropColumn(db, ICategorySchema.CATEGORIES_TABLE_CREATE,
117-
ICategorySchema.TABLE, new String[] { "is_unread" });
118-
119-
// upgrade add incident table
120-
Log.i("Upgrading", "Upgrading offline incidents table");
121-
// drop the offline report table. It's no longer in use
122-
db.execSQL("DROP TABLE IF EXISTS "
123-
+ IOfflineReportSchema.OFFLINE_REPORT_TABLE);
124-
125-
db.execSQL(IOfflineReportSchema.OFFLINE_REPORT_TABLE_CREATE);
126-
addIncidentColumns = Database.getColumns(db,
127-
IOfflineReportSchema.OFFLINE_REPORT_TABLE);
128-
db.execSQL("ALTER TABLE "
129-
+ IOfflineReportSchema.OFFLINE_REPORT_TABLE
130-
+ " RENAME TO temp_"
131-
+ IOfflineReportSchema.OFFLINE_REPORT_TABLE);
132-
db.execSQL(IOfflineReportSchema.OFFLINE_REPORT_TABLE_CREATE);
133-
addIncidentColumns.retainAll(Database.getColumns(db,
134-
IOfflineReportSchema.OFFLINE_REPORT_TABLE));
135-
String addIncidentCols = Database.join(addIncidentColumns, ",");
136-
db.execSQL(String.format(
137-
"INSERT INTO %s (%s) SELECT %s FROM temp_%s",
138-
IOfflineReportSchema.OFFLINE_REPORT_TABLE,
139-
addIncidentCols, addIncidentCols,
140-
IOfflineReportSchema.OFFLINE_REPORT_TABLE));
141-
db.execSQL("DROP TABLE IF EXISTS temp_"
142-
+ IOfflineReportSchema.OFFLINE_REPORT_TABLE);
143-
144-
// upgrade checkin table
145-
Log.i("Upgrading", "Upgrading checkins table");
146-
db.execSQL(ICheckinSchema.CHECKINS_TABLE_CREATE);
147-
checkinsColums = Database.getColumns(db,
148-
ICheckinSchema.CHECKINS_TABLE);
149-
db.execSQL("ALTER TABLE " + ICheckinSchema.CHECKINS_TABLE
150-
+ " RENAME TO temp_" + ICheckinSchema.CHECKINS_TABLE);
151-
db.execSQL(ICheckinSchema.CHECKINS_TABLE_CREATE);
152-
checkinsColums.retainAll(Database.getColumns(db,
153-
ICheckinSchema.CHECKINS_TABLE));
154-
String checkinsCols = Database.join(checkinsColums, ",");
155103

104+
// upgrade report category
105+
db.execSQL(IReportCategorySchema.REPORT_CATEGORY_TABLE_CREATE);
106+
reportCategoryColumns = Database.getColumns(db,
107+
IReportCategorySchema.TABLE);
108+
109+
db.execSQL("ALTER TABLE " + IReportCategorySchema.TABLE
110+
+ " RENAME TO temp_" + IReportCategorySchema.TABLE);
111+
db.execSQL(IReportCategorySchema.REPORT_CATEGORY_TABLE_CREATE);
112+
113+
reportCategoryColumns.retainAll(Database.getColumns(db,
114+
IReportCategorySchema.TABLE));
115+
String reportsCategoryCols = Database.join(
116+
reportCategoryColumns, ",");
156117
db.execSQL(String.format(
157118
"INSERT INTO %s (%s) SELECT %s FROM temp_%s",
158-
ICheckinSchema.CHECKINS_TABLE, checkinsCols,
159-
checkinsCols, ICheckinSchema.CHECKINS_TABLE));
160-
db.execSQL("DROP TABLE IF EXISTS temp_"
161-
+ ICheckinSchema.CHECKINS_TABLE);
162-
163-
// upgrade checkin media table
164-
Log.i("Upgrading", "Upgrading checkin media table");
165-
dropColumn(db, IMediaSchema.MEDIA_TABLE_CREATE,
166-
IMediaSchema.TABLE, new String[] {
167-
"media_thumbnail_link", "media_medium_link" });
168-
169-
// upgrade checkin users table
170-
Log.i("Upgrading", "Upgrading checkin users table");
171-
db.execSQL(IUserSchema.USER_TABLE_CREATE);
172-
usersColumns = Database.getColumns(db, IUserSchema.USER_TABLE);
173-
db.execSQL("ALTER TABLE " + IUserSchema.USER_TABLE
174-
+ " RENAME TO temp_" + IUserSchema.USER_TABLE);
175-
db.execSQL(IUserSchema.USER_TABLE_CREATE);
176-
usersColumns.retainAll(Database.getColumns(db,
177-
IUserSchema.USER_TABLE));
178-
String usersCols = Database.join(usersColumns, ",");
179-
db.execSQL(String.format(
180-
"INSERT INTO %s (%s) SELECT %s FROM temp_%s",
181-
IUserSchema.USER_TABLE, usersCols, usersCols,
182-
IUserSchema.USER_TABLE));
119+
IReportCategorySchema.TABLE, reportsCategoryCols,
120+
reportsCategoryCols, IReportCategorySchema.TABLE));
183121
db.execSQL("DROP TABLE IF EXISTS temp_"
184-
+ IUserSchema.USER_TABLE);
185-
186-
// upgrade categories table
187-
db.execSQL(ICategorySchema.CATEGORIES_TABLE_CREATE);
188-
categoriesColumns = Database.getColumns(db,
189-
ICategorySchema.TABLE);
190-
db.execSQL("ALTER TABLE " + ICategorySchema.TABLE
191-
+ " RENAME TO temp_" + ICategorySchema.TABLE);
192-
db.execSQL(ICategorySchema.CATEGORIES_TABLE_CREATE);
193-
usersColumns.retainAll(Database.getColumns(db,
194-
ICategorySchema.TABLE));
195-
String categoriesCols = Database.join(categoriesColumns, ",");
196-
db.execSQL(String.format(
197-
"INSERT INTO %s (%s) SELECT %s FROM temp_%s",
198-
ICategorySchema.TABLE, categoriesCols, categoriesCols,
199-
ICategorySchema.TABLE));
200-
db.execSQL("DROP TABLE IF EXISTS temp_" + ICategorySchema.TABLE);
201-
202-
// upgrade deployment table
203-
deploymentColumns = Database.getColumns(db, IMapSchema.TABLE);
204-
db.execSQL("ALTER TABLE " + IMapSchema.TABLE
205-
+ " RENAME TO temp_" + IMapSchema.TABLE);
206-
207-
db.execSQL("DROP TABLE IF EXISTS " + IMapSchema.TABLE);
208-
209-
db.execSQL(IMapSchema.MAP_TABLE_CREATE);
210-
deploymentColumns.retainAll(Database.getColumns(db,
211-
IMapSchema.TABLE));
212-
213-
String deploymentCols = Database.join(deploymentColumns, ",");
214-
db.execSQL(String.format(
215-
"INSERT INTO %s (%s) SELECT %s FROM temp_%s",
216-
IMapSchema.TABLE, deploymentCols, deploymentCols,
217-
IMapSchema.TABLE));
218-
219-
db.execSQL("DROP TABLE IF EXISTS temp_" + IMapSchema.TABLE);
220-
221-
// create missing tables
222-
db.execSQL(IReportCategorySchema.REPORT_CATEGORY_TABLE_CREATE);
223-
db.execSQL(ICommentSchema.COMMENT_TABLE_CREATE);
224-
db.execSQL(IOpenGeoSmsSchema.OPENGEOSMS_TABLE_CREATE);
122+
+ IReportCategorySchema.TABLE);
225123

226124
onCreate(db);
227125
} catch (SQLException e) {

Diff for: Core/src/com/ushahidi/android/app/database/IReportCategorySchema.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public interface IReportCategorySchema {
4545
+ CATEGORY_ID
4646
+ " INTEGER NOT NULL, "
4747
+ REPORT_ID
48-
+ " INTEGER NOT NULL, " + PENDING + " INTEGER NOT NULL )";
48+
+ " INTEGER NOT NULL, " + PENDING + " INTEGER DEFAULT 0 )";
4949

5050
public static final String[] COLUMNS = new String[] { ID, CATEGORY_ID,
5151
REPORT_ID, CATEGORY_ID, PENDING };

0 commit comments

Comments
 (0)