![]() |
|
|
![]()
|
|
| Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 9 Всего: 51 |
Нужно придумать оптимальный вариант для обновления структуры базы данных вместе с установкой новой версии программы. Причём стоит учитывать, что в базе уже есть данные, и эти данные должны там остаться. база данных Интербейс.
кто-нибудь сталкивался с подобным? |
|||
|
||||
| YurikGL |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 5.7.2005 Где: Уфа Репутация: нет Всего: 2 |
Просто напросто выполняются запросы, изменющие структуру базы нужным образом...
--------------------
|
|||
|
||||
| bas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: 1 Всего: 2 |
Cтруктуру, имена,типы... полей можно вытащить из системных таблиц. Заметки о системных таблицах InterBase.
|
|||
|
||||
| Bose |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 9 Всего: 51 |
Но в обновляемой базе уже есть данные! И надо быть уверенным, что эти данные никуда не пропадут. Простейший пример - это добавление в таблицу с данными еще одного NOT NULL столбца. И если после такого добавление не пройтись по этой таблице и не выполнить
то, после первого же backup/restore база придёт в состоянии негодности. Я недавно начал исследовать интербейс и это пока единственный случай про который я знаю(читал)... Поэтому же bas я предпочёл бы не лезть пока в эти системные таблицы. В общем, хочется перестраховаться заранее и свести вероятность потери данных клиента к минимуму. |
||||
|
|||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
Bose
Как в InterBase не помню, давно не пробовал, а в MS SQL изменение структуры, если посмотреть скрипт, выглядит так: 1. Убиваются связи и индексы. 2. Создается новая таблица с новой структурой. 3. В нее переливаются все данные. 4. Убивается старая таблица. 5. Новая таблица получает имя старой. 6. Создаются связи и индексы. Посмотри скрипт (IBExpert небось применяешь). Должно быть примерно так же. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |