Cómo lidiar con múltiples cambios en la versión de la base de datos cuando se actualiza la aplicación de Android

Gracias por leer mi pregunta aquí.

En realidad tengo algo de confusión sobre cómo tratar conSQLite tables cuando necesito agregar algunas filas en la tabla para varias versiones de sq-lite.

Busco cosas en Google y encontré algo como esto que tenemos que hacer alterar tabla enonUpgrade método. Esta sería la actualización secuencial del trabajo.

Suppose i have 3 devices they have below versions of database
1) 1st device = database version 1
2) 2nd device = database version 2
3) 3rd device = application not installed.

database version 1 = 2 columns
database version 2 = 2+2 columns
database version 3 = 4+2 columns.

Entonces, si necesito actualizar a los usuarios de mi aplicación de Android, ¿qué debo hacer? Tengo los siguientes escenarios.

1) Updated application would be install in 3rd device where still application is not installed.
2) Application should be update from version 1 to version 3 (Device 1st).
3) Application should be update from version 2 to version 3 (Device 2nd).

Aquí puedo tener una idea acerca de cómo manejar el escenario número 3, pero no sé cómo puedo manejar los escenarios primero y segundo.

¿Cómo puedo escribir código para que funcione para todos los escenarios?

El método onUpgrade sería solo cambios en la versión de la base de datos y onCreate call cuando se crea la base de datos.

Gracias Cualquier ayuda y sugerencia sería apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta