Конференция "Базы" » Увеличение полей в таблицах БД
 
  • Belkin © (20.04.17 01:15) [0]
    Интересно, как вы решаете такую проблему.

    Спроектировали вы базу данных, таблицы, поля, написали приложение, которое работает с этими данными. Но всего предусмотреть невозможно, и жизнь вносит свои коррективы: нужно добавлять поля в имеющиеся таблицы.

    Я работаю с Sqlite, и там при попытке открыть таблицу со старыми полями в приложении, которое требует новых полей, возникает ошибка.

    Как решить?
  • ухты © (20.04.17 03:16) [1]
    не открывать таблицу со старыми полями в приложении, которое требует новых полей
  • Smile © (20.04.17 06:36) [2]
    Я работаю с Sqlite, и там при попытке открыть таблицу со старыми полями в приложении, которое требует новых полей, возникает ошибка.
    > Как решить?

    В приложении проверять наличие "новых" полей, если отсутствуют, то программно создавать
  • Дмитрий Белькевич © (20.04.17 08:40) [3]
    +1. У меня уже 100 патчей на базы насобиралось. Проверяем периодически, что бы обновления от старой базы до новой все поднимались. Используем FB. Полёт нормальный.
  • Игорь Шевченко © (20.04.17 10:31) [4]
    В свое время записывали "версию структуры базы данных" в некое полей некой таблицы, потом поняли, что это от лукавого и перестали. Программа всегда должна работать с последней версией структуры, а кто не обновляется - тот сам себе проблемы на ровном месте устраивает.
  • rrrrr © (20.04.17 10:41) [5]
    а просто не надо ддл делать сбоку и руками.
    нужно программе новое поле - пусть новая версия сама его и создает.
  • sniknik © (20.04.17 12:28) [6]
    изначально сделал инфо таблицу с разными нужными данными, в том числе и версией базы.  и если версия в базе меньше чем в программе, то она ее апдейтит до текущей, поля добавляет, индексы, тригеры, процедуры, все изменения в общем.
    да, апдейты сделаны на проверках несуществующих полей и т.д., а не "с предыдущей версии" т.е. в принципе неважно с какой версии подымать базу с 40-й или первой. все различия в прогу только добавляются.
  • dmk © (20.04.17 23:53) [7]
    Я написал так, что старые записи читают по старой структуре, а новые по новой.
    Главное образец структуры не стереть, а то запись не откроется. Вот и нет проблем ;)
 
Конференция "Базы" » Увеличение полей в таблицах БД
Есть новые Нет новых   [118693   +27][b:0][p:0]