Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];

Вниз

Автоматизированное обновление программ.   Найти похожие ветки 

 
Ученик чародея ©   (2007-02-10 18:13) [0]

Что из технологий можете посоветовать?


 
Kolan ©   (2007-02-10 18:15) [1]

Патч?


 
Danilka ©   (2007-02-10 18:24) [2]

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

Еще один способ для удаленных клиентов, к которым был доступ только к БД через инет, там в бд была таблица, куда выкладывалась последняя версия, а у клиентов опять же запускался лоадер, которые сверял версии файлов с версиями в бд, закачивал, если там более свежая, и запускал уже саму программу.


 
Ученик чародея ©   (2007-02-10 19:18) [3]

Если полностью, то задали задачку поискать нечто(платное или бесплатное) для
автоматизированного обновления программ и БД из центрального источника.

На счет программ там все просто и понятно, как два байта и все такое, а вот автоматизированное обновление БД... причем это не репликация, а иногда полное изменение структуры БД в связи с выходом новой версии. Вот и думаю, формализуема ли эта задача?


 
Kolan ©   (2007-02-10 19:21) [4]

«а иногда полное изменение структуры БД »

Ну а клиентов?
Вот есть из платного — группа людей которые ездят и обновляют :) Правда не оч. автоматизировано&#133


 
Ученик чародея ©   (2007-02-10 19:38) [5]


> Kolan ©   (10.02.07 19:21) [4]
>
> «а иногда полное изменение структуры БД »
>
> Ну а клиентов?
> Вот есть из платного — группа людей которые ездят и обновляют
> :) Правда не оч. автоматизировано…


Ну вот как раз именно подобная технология и используется :(

(мечтательно...) Ну когда уже в Японии изобретут самоходный инсталлятор обладающий зачатками псевдоинтеллекта...


 
Ученик чародея ©   (2007-02-11 18:37) [6]

Ну может хоть в конце воскресенья что-то толковое посоветуют на счет автоматизированного обновления БД.

Если вы не понимаете вопроса, то можете не расстраиваться, в этой постановке я сам его не понимаю.


 
Desdechado ©   (2007-02-11 18:51) [7]

> на счет автоматизированного обновления БД
Делается пакет, в который записываются скрипты в нужном порядке. Потом стартует программа обновления, которая читает пакет и выполняет эти скрипты, запоминая после каждого, что уже сделано, на случай сбоя или необходимости переподключения. После того, как все скрипты выполнены, обновляется программа для работы с БД.

Естественно, это делается только с машины админа с проверкой, а не подключен ли к БД кто-то еще. Если есть, обновление блокируется.

А в самой программе должна быть проверка, является ли версия программы предназначенной для работы с такой версией БД. Версия БД выставляется по результатам прохождения определенного количества взаимосвязанных скриптов.


 
Ломброзо ©   (2007-02-11 19:00) [8]

Задача в общем случае не автоматизируемая и на подобного рода задачи берут специально выдрессированного чувака, отслеживающего изменения между версиями в репозитории.
Чувак может использовать всякие инструменты типа Oracle Change Manager, существенно облегчающие ему жизнь, если проектировщик базы не злоупотребляет терпением коллег и старается без лишней необходимости не совершать всякие пакости типа переноса столбца из одной таблицы в другую и обратно или изменениями NULL-NOT NULL, да ещё с каким-нибудь хитрым дефолтным значением. Затем он генерирует Change-скрипты, затем либо тестирует скрипты сам, либо поручает тестирование тестировщику, наконец, скрипты зашиваются в MSI-пакеты и распространяются заказчикам.


 
Ломброзо ©   (2007-02-11 19:06) [9]

А можно на яве под линухом можно написать такую переносимую программу, которая всё будет делать за этого чувака?


 
Sergey Masloff   (2007-02-11 19:18) [10]

Ломброзо ©   (11.02.07 19:00) [8]
>и старается без лишней необходимости не совершать всякие пакости типа >переноса столбца из одной таблицы в другую и обратно или изменениями >NULL-NOT NULL, да ещё с каким-нибудь хитрым дефолтным значением.
А какая разница? Логический стендбай все равно все это копит и всегда можно проиграть что там наменяли? Вроде проблем особых нет?


 
Ломброзо ©   (2007-02-11 19:30) [11]

Что такое "логический стендбай"?


 
Ученик чародея ©   (2007-02-11 19:41) [12]


> Ломброзо ©   (11.02.07 19:00) [8]
>
> Задача в общем случае не автоматизируемая и на подобного
> рода задачи берут специально выдрессированного чувака, отслеживающего
> изменения между версиями в репозитории.
> Чувак может использовать всякие инструменты типа Oracle
> Change Manager, существенно облегчающие ему жизнь, если
> проектировщик базы не злоупотребляет терпением коллег и
> старается без лишней необходимости не совершать всякие пакости
> типа переноса столбца из одной таблицы в другую и обратно
> или изменениями NULL-NOT NULL, да ещё с каким-нибудь хитрым
> дефолтным значением. Затем он генерирует Change-скрипты,
>  затем либо тестирует скрипты сам, либо поручает тестирование
> тестировщику, наконец, скрипты зашиваются в MSI-пакеты и
> распространяются заказчикам.


Вся проблема в том, что, похоже, программа должна сама определять модель базы и изменения между двумя базами и генерировать change-скрипты. Точнее этого хотят.


 
Ломброзо ©   (2007-02-11 19:45) [13]

ок. Разработчик из каких-то соображений решил перенести столбец из одной таблицы в другую. Создал столбец во второй, сделал апдейт с переносом данных, грохнул столбец в первой.
Изменение схемы скриптогенерилка распознает и честно грохнет колонку в первой таблице. Вместе с данными.


 
Sergey Masloff   (2007-02-11 19:45) [14]

Ломброзо ©   (11.02.07 19:30) [11]
>Что такое "логический стендбай"?
Ну я не админ но... Это режим репликации данных на резервный сервер. Есть физический стендбай - просто измененные блоки данных с подительского сервера плывут на дочерние буквально в бинарном виде как есть. Требуется совпадение архитектур и параметров настройки.
 А есть логический стендбай когда все изменения (ДМЛ и ДДЛ) родительского сервера пишутся в пакеты как грубо говоря скрипты SQL которые потом проигрываются (вполне допустимо что и отложенно) на "дочках".
 Я не администратор поэтому знаю в общих чертах но все это описано документировано и работает в оракле сто лет.


 
Petr V. Abramov ©   (2007-02-11 23:32) [15]

> которые потом проигрываются (вполне допустимо что и отложенно) на "дочках".
ага, вот затронет это изменение табличку миллионов на сотню...

тестировать все ж такие вещи надо


 
Sergey Masloff   (2007-02-12 06:16) [16]

Petr V. Abramov ©   (11.02.07 23:32) [15]
Ну у нас резервные и девелоперские базы полные копии рабочей (синхронные). Соответственно есть такие таблицы. Все работает. Насколько я знаю бывают проблемы но не критичные. Но повторю - другие люди этим занимаются я в это не лезу.


 
Desdechado ©   (2007-02-12 10:49) [17]

Ломброзо ©   (11.02.07 19:45) [13]
Скрипты пишутся не автораспознавалками, а живыми людьми-разработчиками. Которые придумали перенос колонок и данных. И записали это в виде скрипта. И оформили пакетом обновления. В нужном порядке. И передали админам на местах.


 
KSergey ©   (2007-02-12 11:39) [18]

> Desdechado ©   (12.02.07 10:49) [17]
>  И передали админам на местах.

После тестов, прошу заметить.


 
Desdechado ©   (2007-02-12 11:41) [19]

KSergey ©   (12.02.07 11:39) [18]
Безусловно. А что, кто-то дает полуфабрикаты?



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.061 c
15-1171123897
DVM
2007-02-10 19:11
2007.03.04
BDS 2006 + Vista + Office 2007


6-1159611403
redlord
2006-09-30 14:16
2007.03.04
вопрос про склеивание данных при передачи через сокет


3-1165414254
novill
2006-12-06 17:10
2007.03.04
IB 7.5 Как можно получить тексты всех триггеров?


2-1171356867
Gydvin
2007-02-13 11:54
2007.03.04
доступ к сетевому ресурсу


1-1168662909
ПАСЮТА
2007-01-13 07:35
2007.03.04
directX





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский