Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обновление структуры базы данных, если новая версия программы.. 
:(
    Опции темы
Bose
Дата 27.1.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 9
Всего: 51



Нужно придумать оптимальный вариант для обновления структуры базы данных вместе с установкой новой версии программы. Причём стоит учитывать, что в базе уже есть данные, и эти данные должны там остаться. база данных Интербейс.
кто-нибудь сталкивался с подобным?
PM MAIL WWW Skype   Вверх
YurikGL
Дата 28.1.2006, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: нет
Всего: 2



Просто напросто выполняются запросы, изменющие структуру базы нужным образом...
--------------------
 
PM MAIL WWW ICQ   Вверх
bas
Дата 28.1.2006, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

Репутация: 1
Всего: 2



Cтруктуру, имена,типы... полей можно вытащить из системных таблиц. Заметки о системных таблицах InterBase.
PM MAIL   Вверх
Bose
Дата 30.1.2006, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 9
Всего: 51



Цитата(YurikGL @ 28.1.2006, 08:58 Найти цитируемый пост)

Просто напросто выполняются запросы, изменющие структуру базы нужным образом...


Но в обновляемой базе уже есть данные! И надо быть уверенным, что эти данные никуда не пропадут. Простейший пример - это добавление в таблицу с данными еще одного NOT NULL столбца. И если после такого добавление не пройтись по этой таблице и не выполнить
Код

UPDATE table
SET new_column=0 
where new_column is Null

то, после первого же backup/restore база придёт в состоянии негодности.

Я недавно начал исследовать интербейс и это пока единственный случай про который я знаю(читал)... Поэтому же bas я предпочёл бы не лезть пока в эти системные таблицы.

В общем, хочется перестраховаться заранее и свести вероятность потери данных клиента к минимуму.
PM MAIL WWW Skype   Вверх
SergeBS
Дата 2.2.2006, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



Bose
Как в InterBase не помню, давно не пробовал, а в MS SQL изменение структуры, если посмотреть скрипт, выглядит так:
1. Убиваются связи и индексы.
2. Создается новая таблица с новой структурой.
3. В нее переливаются все данные.
4. Убивается старая таблица.
5. Новая таблица получает имя старой.
6. Создаются связи и индексы.
Посмотри скрипт (IBExpert небось применяешь). Должно быть примерно так же.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.