Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Обновления, патчи, как это реализуется правильно. / 14 сообщений из 14, страница 1 из 1
26.03.2008, 18:37
    #35215898
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
Допустим я хочу разрабатывать программу, к которой прикручена база данных.
Я веду учет билдов (версий) программы. Ну допустим просто номера билдов 1,2,3, .....
Так вот, в некоторых билдах в базу данных будут вноситься изменения.
Получается, что я должен смотреть какой версии текущая БД пользователя, и если например 20-я, то я запускаю изменения в базе данных при переходе с 20й на 21-ю, потом с 21 на 22 и так до победного конца.
С другой стороны, если пользователь создает новую базу, у меня должна быть описана структура новой базы данных.
т.е. получается некоторое дублирование - я должен описывать структуру БД и для новых пользователей и для старых.
Как это грамотно разруливается, как это принято разруливать?
...
Рейтинг: 0 / 0
27.03.2008, 11:50
    #35217122
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
почему бы также не вести учёт версий БД? и соответствий версии клиента и версии БД?
...
Рейтинг: 0 / 0
27.03.2008, 11:54
    #35217139
change_dump
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
Добавь в базу данных таблицу соответствия версий на БД и на клиентских машинах. При старте клиента проверяй соответствие. Если не соответствует, обновляем клиент.
...
Рейтинг: 0 / 0
27.03.2008, 12:07
    #35217194
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
Я бы не заморачивался с этим. Хранил бы отдельно скрипты патчей по переходу к очередным версиям и отдельно скрипт последней версии.
...
Рейтинг: 0 / 0
27.03.2008, 12:18
    #35217253
change_dump
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
NafЯ бы не заморачивался с этим. Хранил бы отдельно скрипты патчей по переходу к очередным версиям и отдельно скрипт последней версии.
Один раз написал, отладил теперь использую практически во всех своих проектах.
...
Рейтинг: 0 / 0
27.03.2008, 12:21
    #35217274
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
change_dump NafЯ бы не заморачивался с этим. Хранил бы отдельно скрипты патчей по переходу к очередным версиям и отдельно скрипт последней версии.
Один раз написал, отладил теперь использую практически во всех своих проектах.
Так это ты про обновление клиента, а он про обновление базы.
...
Рейтинг: 0 / 0
27.03.2008, 13:17
    #35217537
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
Naf change_dump NafЯ бы не заморачивался с этим. Хранил бы отдельно скрипты патчей по переходу к очередным версиям и отдельно скрипт последней версии.
Один раз написал, отладил теперь использую практически во всех своих проектах.
Так это ты про обновление клиента, а он про обновление базы.одно другому не мешает. подход change_dump одиноко хорош что при обновлении клиента, что при обновлении БД. сложности могут возникнуть, если к одной БД цепляются несколько разнличных (по функционалу) приложений
...
Рейтинг: 0 / 0
27.03.2008, 13:51
    #35217707
change_dump
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
При запуске клиента происходит обязательная проверка на возможность работы и в случаи не совпадения происходит попытка произвести обновление, если это не удается клиент просто не включается. Более опасная ситуация когда админ накатывает, скрипит не через наш софт, а самостоятельно при не отключенных клиентах. Вот тут могут быть не предсказуемые глюки (не сколько раз были шибко умные админы).
...
Рейтинг: 0 / 0
19.05.2008, 16:46
    #35321358
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
change_dumpПри запуске клиента происходит обязательная проверка на возможность работы и в случаи не совпадения происходит попытка произвести обновление, если это не удается клиент просто не включается. Более опасная ситуация когда админ накатывает, скрипит не через наш софт, а самостоятельно при не отключенных клиентах. Вот тут могут быть не предсказуемые глюки (не сколько раз были шибко умные админы).
Господи! Речь идет об обновлении БД а не клиента.
Клиента обновлять проблем нет.
А вот базу - нужные колонки убрать, нужные добавить!!!
...
Рейтинг: 0 / 0
20.05.2008, 11:14
    #35322595
Обновления, патчи, как это реализуется правильно.
FixinГосподи! Речь идет об обновлении БД а не клиента.
Клиента обновлять проблем нет.
А вот базу - нужные колонки убрать, нужные добавить!!!
А в это время, например, часть логики "старого" клиента "закладывается" именно на существование этих (удаляемых) колонок... Пока в сети есть "старые" клиенты поля (столбцы/колонки) удалять нельзя!!!
...
Рейтинг: 0 / 0
20.05.2008, 11:37
    #35322670
_Kostyan_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
Что ты хочешь? у тебя одновременно поднято несколько БД с разными версиями и ты ими торгуешь, причем || апгрейдишь разные БД? (тут я тебе не помогу)

или у тебя 1 (ОДНА) БД - и к ней конн. пользователи с разных клиентов?
для 2-ого случая тебе все расписали. в БД есть таблица "версии", можно 1 строка, можно несколько, и пользователь проверяет: совпадают-ли версии БД и клиента. тот ф-ал, что описан выше - подходит.
...
Рейтинг: 0 / 0
20.05.2008, 14:25
    #35323337
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
Fixinт.е. получается некоторое дублирование - я должен описывать структуру БД и для новых пользователей и для старых. Как это грамотно разруливается, как это принято разруливать?
Разруливается это применением вменяемого CASE средства, скажем Oracle Designer. Вы описываете структуру БД в одном месте и по этому описанию можете сгенерировать как скрипт создания с нуля, так и скрипт перехода от версии X к версии X+1.

Больший интерес вызывает эта проблема применительно к данным.
...
Рейтинг: 0 / 0
20.05.2008, 15:46
    #35323648
Fixin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
softwarer Fixinт.е. получается некоторое дублирование - я должен описывать структуру БД и для новых пользователей и для старых. Как это грамотно разруливается, как это принято разруливать?
Разруливается это применением вменяемого CASE средства, скажем Oracle Designer. Вы описываете структуру БД в одном месте и по этому описанию можете сгенерировать как скрипт создания с нуля, так и скрипт перехода от версии X к версии X+1.

Больший интерес вызывает эта проблема применительно к данным.

гм, значит общепринятой практики нет, только юзание CASE. ;-)

Да, еще раз уточню.

Я поставляю покупателям обновления клиентов и с некоторыми из версий должна меняться структура БД (колонки там добавляться, таблицы, индексы)... Контролировать соответствие БД и версии клиента я могу, суть в том, как грамотно таблицы и индексы обновлять!
...
Рейтинг: 0 / 0
20.05.2008, 16:08
    #35323765
!!!
!!!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновления, патчи, как это реализуется правильно.
Fixinгм, значит общепринятой практики нет, только юзание CASE. ;-)
Это и есть общепринятая практика
FixinДа, еще раз уточню.

Я поставляю покупателям обновления клиентов и с некоторыми из версий должна меняться структура БД (колонки там добавляться, таблицы, индексы)... Контролировать соответствие БД и версии клиента я могу, суть в том, как грамотно таблицы и индексы обновлять!Запуском скрипта, приводящего текущее состояние БД в новое.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Обновления, патчи, как это реализуется правильно. / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]