|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Добрый день! Наконец я добрался до автоапдейта программы. С апдейтом самой программы особых вопросов не возникает а вот как лучше вносить изменения в БД хотел спросить опытных людей. До сих пор обновлялся вручную: 1. Менял exe 2. Сравнивал старую и новую базы в IBExpert. Теперь количество торговых точек выросло и делать так стало долго и затруднительно. Тут я лично вижу 2 пути: 1. Держаться версий программы, т.е. хранить версии баз (пустых, только метаданные) и посылать в обновлении ехе+скрипт. 2. Посылать пустую эталонную базу сравнивать и вносить изменения на месте. Прошу совета. Заранее спасибо. ПыСы. Версия Firebird к моменту запуска будет 2.5.5 (без вариантов). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 17:40 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Второй - не вариант. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 17:45 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Hello, Mironico! You wrote on 11 февраля 2016 г. 17:46:48: Mironico> 2. Посылать пустую эталонную базу сравнивать и вносить изменения на месте. не взлетит Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 17:46 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Mironico, иногда путей больше двух. чистая БД + средство перекачки с предыдущей версии. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 17:52 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
pastorMironico, иногда путей больше двух. чистая БД + средство перекачки с предыдущей версии. Геморно имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 17:54 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Hello, Mironico! You wrote on 11 февраля 2016 г. 17:59:19: Mironico> Геморно имхо скажи лучше "не умею" Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 17:59 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Мимопроходящий, "Средство перекачки" уже есть или самому выдумывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 18:05 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Mironico, Можно отсылать не эталонную БД, а набор скриптов, которые обеспечивают апдейт метаданных до нужной версии. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 18:06 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Hello, Mironico! You wrote on 11 февраля 2016 г. 18:11:36: Mironico> "Средство перекачки" уже есть или самому выдумывать? на этом можно ставить точку. задача решения не имеет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 18:12 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
+1 насчет набора обновляющих скриптов. В которых кроме изменения метаданных также удобно обновлять данные (эталонные справочники, новые дефолтные значения полей и прочее). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 18:15 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Вот, кстати, давнее обсуждение темы. Не знаю, что к нему можно добавить. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 18:24 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Mironico, В данных базы храни номер версии структуры. В коде приложения - тоже. Если первый номер больше второго - обновляешь приложение. Если наоборот - обновляешь структуру базы. Для обновления структуры коннектишься в монопольном режиме и последовательно, от версии к версии накатываешь скрипты обновления. Которые ты заранее оттестировал. В начале каждой итерации обповления в базу пишешь: "начато обновление структуры 12->13". По успешному завершению этапа итерации эту пометку удаляешь. "Смыть, повторить." ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 18:37 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
ZeroMQВ начале каждой итерации обповления в базу пишешь: "начато обновление структуры 12->13". И главное - не забыть сделать бекап перед началом. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 18:58 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovZeroMQВ начале каждой итерации обповления в базу пишешь: "начато обновление структуры 12->13". И главное - не забыть сделать бекап перед началом. Естественно... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 19:03 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ,...и восстановить его :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 19:07 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
AriochDimitry Sibiryakov, ,...и восстановить его :-) ... если что-то пошло не так. В противном случае - отложить в сторонку. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 19:15 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
DarkMaster, проверочно восстанавливать fbk надо всегда, иначе зачем он нужен? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 20:09 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Arioch, Ну это как бы по умолчанию - те, кто этого не делает- те еще камикадзе. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 20:18 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
мне кажется, основная проблема обновлений - это пропуск части обновлений. Взять, к примеру, 1с. Обновления конфигурации там выходят по разу в неделю, и это реально задалбывает. Однако если на версии 4 пропускаешь обновления 5, 6, 7, то есть варианты 1. обновлятор должен определить, с какой версии делается обновление, и по очереди применить пропущенные 2. обновлятор должен уметь обновлять базу с любыми пропусками. т.е. с 4 на 8 - выполнить одноразовое обновление. Вроде бы обновлятор 1с работает как раз по второй схеме. Но для 1с 7.7 были случаи, когда после наката обновлений с пропусками получался какой-то звездец, который непонятно было как расколупать даже с "табличным" хранением данных в этой версии. Впрочем, 1с - это ведь "платформа". То есть, это скорее обновление данных, чем метаданных. Поэтому должно быть проще, чем с конкретной прикладной системой. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 20:42 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovZeroMQВ начале каждой итерации обповления в базу пишешь: "начато обновление структуры 12->13". И главное - не забыть сделать бекап перед началом. Не универсально. Есть большие базы. Универсально - накатывать изменения в одной транзакции, включая структуру и данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 20:55 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
fb user, расскажи это Оракулу, у которого любой DDL неявно в транзакцию оборачивается ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 20:58 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Симонов Денисfb user, расскажи это Оракулу, у которого любой DDL неявно в транзакцию оборачивается Сравнивать нужно не с Oracle, а с тем как оно наиболее юзабельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 21:10 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
fb userЕсть большие базы. Их вообще никогда не обновляют. Тем более - автоматически. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 21:13 |
|
Внесение изменений в БД при апдейте приложения.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovfb userЕсть большие базы. Их вообще никогда не обновляют. Тем более - автоматически. База в гиг - уже большая, если стоит на ноутбуке и синхронизируется с сервером как по структуре, так и по данным, особенно если это происходит раз в несколько минут. У вас репликатор реплицирует метаданные? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2016, 21:18 |
|
|
start [/forum/topic.php?fid=40&msg=39168921&tid=1562329]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 273ms |
total: | 394ms |
0 / 0 |