Из Ruby on Rails я узнал о удобном и очень управляемом способе выполнения миграции баз данных.
Как бы справиться с такими случаями в Qt4? Это не обязательно должно быть настолько продуманным, как решение Rails. Я бы отлично справился с запуском SQL и фрагментов кода для перехода вверх или вниз по списку версий моих данных.
Я немного погуглил, но, похоже, стандартного решения нет. Кажется, даже нет никого, кто раньше чесал голову. Похоже, каждый реализует собственное представление о том, как это сделать.
Кто-нибудь заинтересован или работает над стандартным решением и хочет поделиться своими усилиями? А может вообще есть рабочая реализация? Я думаю о том, чтобы иметь что-то подобное, например, таблицу information_schema
в Rails, и позволить приложению запускать мастер для повышения или понижения версии базы данных (и, возможно, сначала предложить сделать резервную копию / дамп), или в качестве другого варианта просто запустить миграция без мастера, может быть, просто удобная полоса прогресса.