Я делаю это, используя базу данных user_version
для отслеживания изменений схемы. Итак, общая процедура:
При первоначальном создании базы данных установите версию пользователя на 1, PRAGMA USER_VERSION = 1
В вашей программе проверьте, нужно ли обновлять / удалять / пересоздавать таблицы, используя что-то вроде следующего псевдокода (current_schema_version
изначально равно 1, но увеличивается при каждом изменении схемы).
if user_version == 0
new database, so create all tables in the database
set user_version = current_schema_version
else if user_version == current_schema_version - 1
create/recreate tables, or whatever other adjustments have to be made for new schema
set user_version = current_schema_version
endif