Как быть обратно совместимым со старой локальной базой данных клиентов, когда приложение новое? - PullRequest
2 голосов
/ 10 сентября 2010

Я хочу, чтобы мои пользователи могли читать мою базу данных sqlite еще через 10 лет, потому что там могут быть данные, которые они хотят просмотреть.

Ну, файлу базы данных 10 лет. Тем временем я обновил структуру базы данных (дополнительные поля - лучший пример), и моя последняя версия приложения использует эти новые поля.

Теперь пользователь хочет загрузить 10-летнюю базу данных с новой версией приложения. Но это не сработает, потому что в старом файле базы данных пропущены некоторые поля.

Как бы вы справились с таким сценарием?

1 Ответ

2 голосов
/ 10 сентября 2010

Самый простой способ справиться с этим - оставить новое приложение в покое. Имейте это только работа с новым форматом. В конечном итоге это будет проще, потому что вашей программе не придется учитывать работу с кучей различных структур данных.

Создайте программу, которая «обновляет» (создает новый файл и передает данные и т. Д. Или, как вам захочется), старый файл базы данных, чтобы он напоминал новый.

...