Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / обновление структуры / 12 сообщений из 12, страница 1 из 1
12.03.2015, 13:20
    #38902362
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновление структуры
Здравствуйте.

Вопрос думаю простой.

имеется скрипт обновления структуры. Некоторые операторы могут быть выполнены только после реконнекта.

Предположим скрипт без реконнектов. Стартуем транзакцию. Выполняем скрип. подтверждаем. Все ок.
Допустим по какой то причине один из операторов обломился. Транзакцию откатили. База в исходном виде.

А вот как быть если есть в скрипте реконнекты? выполнили в транзакции 5 операторов. Реконнетились. На 7 операторе облом.
Как вернуть базу в изначальное состояние, чтобы исправив проблему накатить скрипт еще раз?


Спасибо
...
Рейтинг: 0 / 0
12.03.2015, 13:27
    #38902374
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновление структуры
Hello, Sergq!
You wrote on 12 марта 2015 г. 13:27:40:

Sergq> Как вернуть базу в изначальное состояние,
как засунуть желток обратно в скорлупу разбитого яйца
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.03.2015, 13:29
    #38902380
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновление структуры
sergq...
Как вернуть базу в изначальное состояние, чтобы исправив проблему накатить скрипт еще раз?


Спасибо

Например, из бэкапа.
...
Рейтинг: 0 / 0
12.03.2015, 13:29
    #38902381
o_v_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновление структуры
1) Вернуть базу из бэкапа, который сделать перед накатыванием скрипта.
2) Сгенерировать и выполнить разностный скрипт между неудачно проапгрейженной "недобазой" и метаданными, снятыми с базы перед накатыванием скрипта.
...
Рейтинг: 0 / 0
12.03.2015, 13:33
    #38902390
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновление структуры
sergqКак вернуть базу в изначальное состояние, чтобы исправив проблему накатить
скрипт еще раз?
Восстановить базу из бэкапа, который ты, конечно же, сделал перед началом всей этой катавасии.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.03.2015, 13:36
    #38902397
zirra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновление структуры
sergq> Как вернуть базу в изначальное состояние, чтобы исправив проблему накатить скрипт еще раз?
Фарш не возможно провернуть назад...
И мясо из котлет не восстановишь!..
почти А.Б.Пугачёва


--
Vladimir A.Bakhvaloff
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.03.2015, 13:41
    #38902413
o_v_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновление структуры
Предпочтительнее. понятное дело, из бэкапа восстановить.
Но ежели бэкап не сделал, но есть любой давности и нужной структуры базы, то выкатывай в другой файл базу из имеющегося бэкапа и генерируй разностный скрипт между этой базой и неверно обновлённой.
Это при условии, конечно, что не было в скрипте обновления всяких вставок/удаления записей. Операции с данными вручную исправляй.
...
Рейтинг: 0 / 0
12.03.2015, 14:01
    #38902450
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновление структуры
sergqНекоторые операторы могут быть выполнены только после реконнекта.

Не бывает в природе таких операторов. Как-то ты неправильно составляешь скрипт или
выполняешь его. На всё достаточно коммита и освобождения хэндлов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.03.2015, 22:03
    #38903156
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновление структуры
Dimitry Sibiryakov,
Бывают. Изменения ключей ПК без реконнекта не всегда проходят. Делаешь удаление старого пк, добавляешь поле, заполняешь его данными, создаешь новый пк с этим полем - и тут обычно проблемы (до 2.1.1 включительно были это точно)
...
Рейтинг: 0 / 0
12.03.2015, 22:24
    #38903182
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновление структуры
YuRockи тут обычно проблемы
Коммититься надо после каждого шага. Как я и говорил. И запросы освобождать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.03.2015, 22:27
    #38903184
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновление структуры
Dimitry Sibiryakov,

Не помогает. Завтра будет время - выложу тест. базу и скрипт. Может и на текущих версиях такое - за одно посмотрим)
...
Рейтинг: 0 / 0
13.03.2015, 13:29
    #38903795
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
обновление структуры
Не получилось у меня повторить.
Предполагаю, что раньше, когда получалось, у меня где-то затесался CommitRetain (время от времени бью себя по лбу граблями для профилактики, чтобы взбодриться).
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / обновление структуры / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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