I would like that my customers can see my sqlite database still in ten years, because there might be data inside it they would like to browse.
Well the database file is ten years old. Meanwhile I've upgraded my database structure (additional fields is better example) and my latest version from the application utilizes that new fields.
The user really wants to load the ten years old database using the brandnew application version. But that won`t work, because within the old database file you will find some fields missing.
How does one cope with this type of scenario?
The simplest way additional would be to leave your brand-new application alone. Get it only use the brand new format. Over time this is simpler, since your program will not need to take into account using a couple of different data structures.
Produce a program which "upgrades" (produces a brand new file and transfers the information etc. or however you need to handle it) that old database file to resemble the brand new one.