|
15 | 15 | #### |
16 | 16 |
|
17 | 17 | transaction do |
18 | | - generate_stop_events_query = <<-SQL.squish |
| 18 | + generate_stop_events_query = <<~SQL.squish |
19 | 19 | INSERT INTO app_usage_events |
20 | 20 | (guid, created_at, instance_count, memory_in_mb_per_instance, state, app_guid, app_name, space_guid, space_name, org_guid, buildpack_guid, buildpack_name, package_state, parent_app_name, parent_app_guid, process_type, task_guid, task_name, package_guid, previous_state, previous_package_state, previous_memory_in_mb_per_instance, previous_instance_count) |
21 | 21 | SELECT %s, now(), p.instances, p.memory, 'STOPPED', p.guid, p.name, s.guid, s.name, o.guid, d.buildpack_receipt_buildpack_guid, d.buildpack_receipt_buildpack, p.package_state, a.name, a.guid, p.type, NULL, NULL, pkg.guid, 'STARTED', p.package_state, p.memory, p.instances |
|
174 | 174 | #### |
175 | 175 | ## Fill in v3 apps table data |
176 | 176 | ### |
177 | | - run <<-SQL.squish |
| 177 | + run <<~SQL.squish |
178 | 178 | INSERT INTO apps (guid, name, salt, encrypted_environment_variables, created_at, updated_at, space_guid, desired_state) |
179 | 179 | SELECT p.guid, p.name, p.salt, p.encrypted_environment_json, p.created_at, p.updated_at, s.guid, p.state |
180 | 180 | FROM processes as p, spaces as s |
181 | 181 | WHERE p.space_id = s.id |
182 | 182 | ORDER BY p.id |
183 | 183 | SQL |
184 | 184 |
|
185 | | - run <<-SQL.squish |
| 185 | + run <<~SQL.squish |
186 | 186 | UPDATE processes SET app_guid=guid |
187 | 187 | SQL |
188 | 188 |
|
189 | 189 | ##### |
190 | 190 | ## Create lifecycle data for buildpack apps |
191 | 191 | #### |
192 | 192 |
|
193 | | - run <<-SQL.squish |
| 193 | + run <<~SQL.squish |
194 | 194 | INSERT INTO buildpack_lifecycle_data (app_guid, stack) |
195 | 195 | SELECT processes.guid, stacks.name |
196 | 196 | FROM processes, stacks |
197 | 197 | WHERE docker_image is NULL AND stacks.id = processes.stack_id |
198 | 198 | SQL |
199 | 199 |
|
200 | | - run <<-SQL.squish |
| 200 | + run <<~SQL.squish |
201 | 201 | UPDATE buildpack_lifecycle_data |
202 | 202 | SET |
203 | 203 | admin_buildpack_name=( |
|
222 | 222 | ## Fill in packages data |
223 | 223 | #### |
224 | 224 |
|
225 | | - run <<-SQL.squish |
| 225 | + run <<~SQL.squish |
226 | 226 | INSERT INTO packages (guid, type, package_hash, state, error, app_guid) |
227 | 227 | SELECT guid, 'bits', package_hash, 'READY', NULL, guid |
228 | 228 | FROM processes |
229 | 229 | WHERE package_hash IS NOT NULL AND docker_image IS NULL |
230 | 230 | SQL |
231 | 231 |
|
232 | | - run <<-SQL.squish |
| 232 | + run <<~SQL.squish |
233 | 233 | INSERT INTO packages (guid, type, state, error, app_guid, docker_image) |
234 | 234 | SELECT guid, 'docker', 'READY', NULL, guid, docker_image |
235 | 235 | FROM processes |
|
242 | 242 |
|
243 | 243 | # backfill any v2 droplets that do not exist due to lazy backfilling in v2 droplets. it is unlikely there are |
244 | 244 | # any of these, but possible in very old CF deployments |
245 | | - run <<-SQL.squish |
| 245 | + run <<~SQL.squish |
246 | 246 | INSERT INTO droplets (guid, app_id, droplet_hash, detected_start_command) |
247 | 247 | SELECT processes.guid, processes.id, processes.droplet_hash, '' AS detected_start_command |
248 | 248 | FROM processes |
|
253 | 253 | # pruning will not delete from the blobstore |
254 | 254 |
|
255 | 255 | # prune orphaned droplets |
256 | | - run <<-SQL.squish |
| 256 | + run <<~SQL.squish |
257 | 257 | DELETE FROM droplets WHERE NOT EXISTS (SELECT 1 FROM processes WHERE droplets.app_id = processes.id) |
258 | 258 | SQL |
259 | 259 |
|
260 | 260 | # prune additional droplets, each app will have only one droplet |
261 | | - postgres_prune_droplets_query = <<-SQL.squish |
| 261 | + postgres_prune_droplets_query = <<~SQL.squish |
262 | 262 | DELETE FROM droplets |
263 | 263 | USING droplets as d |
264 | 264 | JOIN processes ON processes.id = d.app_id |
265 | 265 | WHERE droplets.id = d.id AND (processes.droplet_hash <> d.droplet_hash OR processes.droplet_hash IS NULL) |
266 | 266 | SQL |
267 | 267 |
|
268 | | - mysql_prune_droplets_query = <<-SQL.squish |
| 268 | + mysql_prune_droplets_query = <<~SQL.squish |
269 | 269 | DELETE droplets FROM droplets |
270 | 270 | JOIN processes ON processes.id = droplets.app_id |
271 | 271 | WHERE processes.droplet_hash <> droplets.droplet_hash OR processes.droplet_hash IS NULL |
|
274 | 274 | if dbtype == 'mysql' |
275 | 275 | run mysql_prune_droplets_query |
276 | 276 |
|
277 | | - run <<-SQL.squish |
| 277 | + run <<~SQL.squish |
278 | 278 | DELETE a FROM droplets a, droplets b |
279 | 279 | WHERE a.app_id=b.app_id AND a.id < b.id |
280 | 280 | SQL |
281 | 281 | elsif dbtype == 'postgres' |
282 | 282 | run postgres_prune_droplets_query |
283 | 283 |
|
284 | | - run <<-SQL.squish |
| 284 | + run <<~SQL.squish |
285 | 285 | DELETE FROM droplets a USING droplets b |
286 | 286 | WHERE a.app_id = b.app_id AND a.id < b.id |
287 | 287 | SQL |
288 | 288 | end |
289 | 289 |
|
290 | 290 | # convert to v3 droplets |
291 | | - postgres_convert_to_v3_droplets_query = <<-SQL.squish |
| 291 | + postgres_convert_to_v3_droplets_query = <<~SQL.squish |
292 | 292 | UPDATE droplets |
293 | 293 | SET |
294 | 294 | guid = v2_app.guid, |
|
304 | 304 | WHERE v2_app.id = droplets.app_id |
305 | 305 | SQL |
306 | 306 |
|
307 | | - mysql_convert_to_v3_droplets_query = <<-SQL.squish |
| 307 | + mysql_convert_to_v3_droplets_query = <<~SQL.squish |
308 | 308 | UPDATE droplets |
309 | 309 | JOIN processes as v2_app |
310 | 310 | ON v2_app.id = droplets.app_id |
|
327 | 327 | end |
328 | 328 |
|
329 | 329 | # add lifecycle data to buildpack droplets |
330 | | - run <<-SQL.squish |
| 330 | + run <<~SQL.squish |
331 | 331 | INSERT INTO buildpack_lifecycle_data (droplet_guid) |
332 | 332 | SELECT droplets.guid |
333 | 333 | FROM processes, droplets |
334 | 334 | WHERE processes.docker_image is NULL AND droplets.app_guid = processes.guid |
335 | 335 | SQL |
336 | 336 |
|
337 | 337 | # set current droplet on v3 app |
338 | | - postgres_set_current_droplet_query = <<-SQL.squish |
| 338 | + postgres_set_current_droplet_query = <<~SQL.squish |
339 | 339 | UPDATE apps |
340 | 340 | SET droplet_guid = droplets.guid |
341 | 341 | FROM droplets |
342 | 342 | WHERE droplets.app_guid = apps.guid |
343 | 343 | SQL |
344 | 344 |
|
345 | | - mysql_set_current_droplet_query = <<-SQL.squish |
| 345 | + mysql_set_current_droplet_query = <<~SQL.squish |
346 | 346 | UPDATE apps |
347 | 347 | JOIN droplets as current_droplet |
348 | 348 | ON apps.guid = current_droplet.app_guid |
|
372 | 372 | ## Migrate route mappings |
373 | 373 | #### |
374 | 374 |
|
375 | | - run <<-SQL.squish |
| 375 | + run <<~SQL.squish |
376 | 376 | UPDATE apps_routes SET |
377 | 377 | app_guid = (SELECT processes.guid FROM processes WHERE processes.id=apps_routes.app_id), |
378 | 378 | route_guid = (SELECT routes.guid FROM routes WHERE routes.id=apps_routes.route_id), |
379 | 379 | process_type = 'web' |
380 | 380 | SQL |
381 | 381 |
|
382 | | - run <<-SQL.squish |
| 382 | + run <<~SQL.squish |
383 | 383 | UPDATE apps_routes SET app_port=8080 WHERE app_port IS NULL AND EXISTS (SELECT 1 FROM processes WHERE processes.docker_image IS NULL AND processes.id = apps_routes.app_id) |
384 | 384 | SQL |
385 | 385 |
|
|
411 | 411 | self[:apps_routes].where(id: ids_to_remove).delete |
412 | 412 | end |
413 | 413 |
|
414 | | - run <<-SQL.squish |
| 414 | + run <<~SQL.squish |
415 | 415 | UPDATE service_bindings SET |
416 | 416 | app_guid = (SELECT processes.guid FROM processes WHERE processes.id=service_bindings.app_id), |
417 | 417 | service_instance_guid = (SELECT service_instances.guid FROM service_instances WHERE service_instances.id=service_bindings.service_instance_id), |
|
0 commit comments