|
|
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
Допустим я хочу разрабатывать программу, к которой прикручена база данных. Я веду учет билдов (версий) программы. Ну допустим просто номера билдов 1,2,3, ..... Так вот, в некоторых билдах в базу данных будут вноситься изменения. Получается, что я должен смотреть какой версии текущая БД пользователя, и если например 20-я, то я запускаю изменения в базе данных при переходе с 20й на 21-ю, потом с 21 на 22 и так до победного конца. С другой стороны, если пользователь создает новую базу, у меня должна быть описана структура новой базы данных. т.е. получается некоторое дублирование - я должен описывать структуру БД и для новых пользователей и для старых. Как это грамотно разруливается, как это принято разруливать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2008, 18:37 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
почему бы также не вести учёт версий БД? и соответствий версии клиента и версии БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 11:50 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
Добавь в базу данных таблицу соответствия версий на БД и на клиентских машинах. При старте клиента проверяй соответствие. Если не соответствует, обновляем клиент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 11:54 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
Я бы не заморачивался с этим. Хранил бы отдельно скрипты патчей по переходу к очередным версиям и отдельно скрипт последней версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 12:07 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
NafЯ бы не заморачивался с этим. Хранил бы отдельно скрипты патчей по переходу к очередным версиям и отдельно скрипт последней версии. Один раз написал, отладил теперь использую практически во всех своих проектах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 12:18 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
change_dump NafЯ бы не заморачивался с этим. Хранил бы отдельно скрипты патчей по переходу к очередным версиям и отдельно скрипт последней версии. Один раз написал, отладил теперь использую практически во всех своих проектах. Так это ты про обновление клиента, а он про обновление базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 12:21 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
Naf change_dump NafЯ бы не заморачивался с этим. Хранил бы отдельно скрипты патчей по переходу к очередным версиям и отдельно скрипт последней версии. Один раз написал, отладил теперь использую практически во всех своих проектах. Так это ты про обновление клиента, а он про обновление базы.одно другому не мешает. подход change_dump одиноко хорош что при обновлении клиента, что при обновлении БД. сложности могут возникнуть, если к одной БД цепляются несколько разнличных (по функционалу) приложений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 13:17 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
При запуске клиента происходит обязательная проверка на возможность работы и в случаи не совпадения происходит попытка произвести обновление, если это не удается клиент просто не включается. Более опасная ситуация когда админ накатывает, скрипит не через наш софт, а самостоятельно при не отключенных клиентах. Вот тут могут быть не предсказуемые глюки (не сколько раз были шибко умные админы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2008, 13:51 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
change_dumpПри запуске клиента происходит обязательная проверка на возможность работы и в случаи не совпадения происходит попытка произвести обновление, если это не удается клиент просто не включается. Более опасная ситуация когда админ накатывает, скрипит не через наш софт, а самостоятельно при не отключенных клиентах. Вот тут могут быть не предсказуемые глюки (не сколько раз были шибко умные админы). Господи! Речь идет об обновлении БД а не клиента. Клиента обновлять проблем нет. А вот базу - нужные колонки убрать, нужные добавить!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2008, 16:46 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
FixinГосподи! Речь идет об обновлении БД а не клиента. Клиента обновлять проблем нет. А вот базу - нужные колонки убрать, нужные добавить!!! А в это время, например, часть логики "старого" клиента "закладывается" именно на существование этих (удаляемых) колонок... Пока в сети есть "старые" клиенты поля (столбцы/колонки) удалять нельзя!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 11:14 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
Что ты хочешь? у тебя одновременно поднято несколько БД с разными версиями и ты ими торгуешь, причем || апгрейдишь разные БД? (тут я тебе не помогу) или у тебя 1 (ОДНА) БД - и к ней конн. пользователи с разных клиентов? для 2-ого случая тебе все расписали. в БД есть таблица "версии", можно 1 строка, можно несколько, и пользователь проверяет: совпадают-ли версии БД и клиента. тот ф-ал, что описан выше - подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 11:37 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
Fixinт.е. получается некоторое дублирование - я должен описывать структуру БД и для новых пользователей и для старых. Как это грамотно разруливается, как это принято разруливать? Разруливается это применением вменяемого CASE средства, скажем Oracle Designer. Вы описываете структуру БД в одном месте и по этому описанию можете сгенерировать как скрипт создания с нуля, так и скрипт перехода от версии X к версии X+1. Больший интерес вызывает эта проблема применительно к данным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 14:25 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
softwarer Fixinт.е. получается некоторое дублирование - я должен описывать структуру БД и для новых пользователей и для старых. Как это грамотно разруливается, как это принято разруливать? Разруливается это применением вменяемого CASE средства, скажем Oracle Designer. Вы описываете структуру БД в одном месте и по этому описанию можете сгенерировать как скрипт создания с нуля, так и скрипт перехода от версии X к версии X+1. Больший интерес вызывает эта проблема применительно к данным. гм, значит общепринятой практики нет, только юзание CASE. ;-) Да, еще раз уточню. Я поставляю покупателям обновления клиентов и с некоторыми из версий должна меняться структура БД (колонки там добавляться, таблицы, индексы)... Контролировать соответствие БД и версии клиента я могу, суть в том, как грамотно таблицы и индексы обновлять! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 15:46 |
|
||
|
Обновления, патчи, как это реализуется правильно.
|
|||
|---|---|---|---|
|
#18+
Fixinгм, значит общепринятой практики нет, только юзание CASE. ;-) Это и есть общепринятая практика FixinДа, еще раз уточню. Я поставляю покупателям обновления клиентов и с некоторыми из версий должна меняться структура БД (колонки там добавляться, таблицы, индексы)... Контролировать соответствие БД и версии клиента я могу, суть в том, как грамотно таблицы и индексы обновлять!Запуском скрипта, приводящего текущее состояние БД в новое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 16:08 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35215898&tid=1543861]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
161ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 485ms |

| 0 / 0 |
