powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Внесение изменений в БД при апдейте приложения.
25 сообщений из 38, страница 1 из 2
Внесение изменений в БД при апдейте приложения.
    #39168848
Mironico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Наконец я добрался до автоапдейта программы.
С апдейтом самой программы особых вопросов не возникает
а вот как лучше вносить изменения в БД хотел спросить
опытных людей.

До сих пор обновлялся вручную:
1. Менял exe
2. Сравнивал старую и новую базы в IBExpert.

Теперь количество торговых точек выросло и делать так
стало долго и затруднительно.

Тут я лично вижу 2 пути:
1. Держаться версий программы, т.е. хранить версии баз (пустых, только метаданные) и посылать в обновлении ехе+скрипт.
2. Посылать пустую эталонную базу сравнивать и вносить изменения на месте.

Прошу совета.
Заранее спасибо.

ПыСы. Версия Firebird к моменту запуска будет 2.5.5 (без вариантов).
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168853
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Второй - не вариант.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168854
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Mironico!
You wrote on 11 февраля 2016 г. 17:46:48:

Mironico> 2. Посылать пустую эталонную базу сравнивать и вносить изменения на месте.
не взлетит
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168858
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mironico,

иногда путей больше двух.

чистая БД + средство перекачки с предыдущей версии.
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168863
Mironico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pastorMironico,

иногда путей больше двух.

чистая БД + средство перекачки с предыдущей версии.

Геморно имхо
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168869
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Mironico!
You wrote on 11 февраля 2016 г. 17:59:19:

Mironico> Геморно имхо
скажи лучше "не умею"
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168879
Mironico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

"Средство перекачки" уже есть или самому выдумывать?
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168882
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mironico,

Можно отсылать не эталонную БД, а набор скриптов, которые обеспечивают апдейт метаданных до нужной версии.
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168889
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Mironico!
You wrote on 11 февраля 2016 г. 18:11:36:

Mironico> "Средство перекачки" уже есть или самому выдумывать?
на этом можно ставить точку.
задача решения не имеет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168893
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+1 насчет набора обновляющих скриптов. В которых кроме изменения метаданных также удобно обновлять данные (эталонные справочники, новые дефолтные значения полей и прочее).
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168903
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, кстати, давнее обсуждение темы. Не знаю, что к нему можно добавить.
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168921
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mironico,

В данных базы храни номер версии структуры. В коде приложения - тоже.
Если первый номер больше второго - обновляешь приложение. Если наоборот - обновляешь структуру базы.
Для обновления структуры коннектишься в монопольном режиме и последовательно, от версии к версии накатываешь скрипты обновления. Которые ты заранее оттестировал. В начале каждой итерации обповления в базу пишешь: "начато обновление структуры 12->13". По успешному завершению этапа итерации эту пометку удаляешь.
"Смыть, повторить."
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168939
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeroMQВ начале каждой итерации обповления в базу пишешь: "начато обновление
структуры 12->13".
И главное - не забыть сделать бекап перед началом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168942
ZeroMQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovZeroMQВ начале каждой итерации обповления в базу пишешь: "начато обновление
структуры 12->13".
И главное - не забыть сделать бекап перед началом.

Естественно... :)
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168945
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

,...и восстановить его :-)
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39168950
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochDimitry Sibiryakov,

,...и восстановить его :-)
... если что-то пошло не так. В противном случае - отложить в сторонку.
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39169004
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

проверочно восстанавливать fbk надо всегда, иначе зачем он нужен?
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39169009
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

Ну это как бы по умолчанию - те, кто этого не делает- те еще камикадзе.
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39169031
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне кажется, основная проблема обновлений - это пропуск части обновлений.
Взять, к примеру, 1с. Обновления конфигурации там выходят по разу в неделю, и это реально задалбывает.
Однако если на версии 4 пропускаешь обновления 5, 6, 7, то есть варианты
1. обновлятор должен определить, с какой версии делается обновление, и по очереди применить пропущенные
2. обновлятор должен уметь обновлять базу с любыми пропусками. т.е. с 4 на 8 - выполнить одноразовое обновление.

Вроде бы обновлятор 1с работает как раз по второй схеме. Но для 1с 7.7 были случаи, когда после наката обновлений с пропусками получался какой-то звездец, который непонятно было как расколупать даже с "табличным" хранением данных в этой версии.

Впрочем, 1с - это ведь "платформа". То есть, это скорее обновление данных, чем метаданных. Поэтому должно быть проще, чем с конкретной прикладной системой.
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39169036
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovZeroMQВ начале каждой итерации обповления в базу пишешь: "начато обновление
структуры 12->13".
И главное - не забыть сделать бекап перед началом.

Не универсально. Есть большие базы.
Универсально - накатывать изменения в одной транзакции, включая структуру и данные.
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39169039
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb user,

расскажи это Оракулу, у которого любой DDL неявно в транзакцию оборачивается
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39169042
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисfb user,

расскажи это Оракулу, у которого любой DDL неявно в транзакцию оборачивается
Сравнивать нужно не с Oracle, а с тем как оно наиболее юзабельно.
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39169047
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb userЕсть большие базы.
Их вообще никогда не обновляют. Тем более - автоматически.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39169052
fb user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovfb userЕсть большие базы.
Их вообще никогда не обновляют. Тем более - автоматически.

База в гиг - уже большая, если стоит на ноутбуке и синхронизируется с сервером как по структуре, так и по данным, особенно если это происходит раз в несколько минут.
У вас репликатор реплицирует метаданные?
...
Рейтинг: 0 / 0
Внесение изменений в БД при апдейте приложения.
    #39169056
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb user,

Обновление метаданных раз в несколько минут? Это особый путь джедая.
...
Рейтинг: 0 / 0
25 сообщений из 38, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Внесение изменений в БД при апдейте приложения.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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