Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Увеличение полей в таблицах БД


Belkin ©   (20.04.17 01:15

Интересно, как вы решаете такую проблему.

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

Я работаю с 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]

Я написал так, что старые записи читают по старой структуре, а новые по новой.
Главное образец структуры не стереть, а то запись не откроется. Вот и нет проблем ;)


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо