Umgang mit Änderungen an mehreren Datenbankversionen beim Update der Android-Anwendung

Vielen Dank für das Lesen meiner Frage hier.

Eigentlich habe ich einige Verwirrung, wie man damit umgehtSQLite tables Wenn ich einige Zeilen in der Tabelle für mehrere SQL-Lite-Versionen hinzufügen müssen.

Ich google Dinge und habe so etwas gefunden, dass wir ändern müssenonUpgrade Methode. Dies wäre eine fortlaufende Aktualisierung.

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.

Also hier, wenn ich meinen Android-Anwendern ein Update geben muss, was muss ich dann tun? Ich habe folgende Szenarien.

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).

Hier kann ich eine Vorstellung davon bekommen, wie ich mit Szenario 3 umgehen soll, aber ich weiß nicht, wie ich mit Szenario 1 und 2 umgehen soll.

Wie kann ich Code schreiben, damit er in allen Szenarien funktioniert?

Bei der Methode onUpgrade werden nur Änderungen an der Datenbankversion und beim Erstellen der Datenbank der Aufruf onCreate aufgerufen.

Danke Jede Hilfe und Anregung wäre dankbar.