@@ -97,131 +97,29 @@ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
97
97
Log .w (TAG , "Upgrading database from version " + oldVersion + " to "
98
98
+ newVersion + " which destroys all old data" );
99
99
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
+
105
102
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 , "," );
155
103
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 , "," );
156
117
db .execSQL (String .format (
157
118
"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 ));
183
121
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 );
225
123
226
124
onCreate (db );
227
125
} catch (SQLException e ) {
0 commit comments