Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по внесению изменений в живую базу / 7 сообщений из 7, страница 1 из 1
30.03.2007, 14:19
    #34427568
Дмитрий16
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по внесению изменений в живую базу
Есть база заказов в которой у каждого заказа есть поле Счет и ДатаСчета.
Соответственно для получения информации по счету приходится делать сумму всех заказов. Для исключения возможности появлния разных заказчиков у одного счета приходится лечить это тригером. Я знаю что это неправильно но так сложилось исторически еще со времен выписчки счетов ручкой на бумажке.

Хочется ввести понятие группа заказов которое будет объединять заказы и содеражать информацию о заказчике, общую сумму заказа и т.п.
Но все эти изменения придется делать на живой базе, где большая часть пользователей еще работает по старой схеме.

Подскажите пожалуйста наилучший сценарий введения подобных изменений.
...
Рейтинг: 0 / 0
30.03.2007, 18:42
    #34428542
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по внесению изменений в живую базу
А внести понятие счета? И связи счет -< заказы?
...
Рейтинг: 0 / 0
02.04.2007, 07:40
    #34430273
Дмитрий16
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по внесению изменений в живую базу
EstetsА внести понятие счета? И связи счет -< заказы?
Ну дык в этом и вопрос. Как это сделать не останавливая работу существующей базы на долго.
...
Рейтинг: 0 / 0
02.04.2007, 09:01
    #34430356
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по внесению изменений в живую базу
Готовить новую редакцию с изменной структурой и логикой + программу перевода из старого в новое. В час Х - переход.
...
Рейтинг: 0 / 0
02.04.2007, 16:11
    #34431714
MaryCat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по внесению изменений в живую базу
Дмитрий16Есть база заказов в которой у каждого заказа есть поле Счет и ДатаСчета.
Соответственно для получения информации по счету приходится делать сумму всех заказов. Для исключения возможности появлния разных заказчиков у одного счета приходится лечить это тригером. Я знаю что это неправильно но так сложилось исторически еще со времен выписчки счетов ручкой на бумажке.

Хочется ввести понятие группа заказов которое будет объединять заказы и содеражать информацию о заказчике, общую сумму заказа и т.п.
Но все эти изменения придется делать на живой базе, где большая часть пользователей еще работает по старой схеме.

Подскажите пожалуйста наилучший сценарий введения подобных изменений.

Этапы
1. Новые структуры
2. Серверный код (логика)
3. front-end (переработка или новый)
4. Скрипт репликации данных

Обсудить требуемые сроки на реализацию, назначить как указал Программист-любитель Время Ч.
...
Рейтинг: 0 / 0
02.04.2007, 16:27
    #34431762
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по внесению изменений в живую базу
Дмитрий16Подскажите пожалуйста наилучший сценарий введения подобных изменений.
Зависит от ситуации, но например так:

1. Завести признак "заказ обработан по-новому". Это может быть дополнительное поле (плохой вариант), может быть отдельная таблица с id обработанных записей, может быть еще что-нибудь (скажем, условие "id группы заказа" is not null, если такое поле будет введено).

2. Добиться того, чтобы новые записи обрабатывались по-новому, вернее "и по-новому тоже". Скажем, сделав процедуры на добавление-изменение, или триггера - по ситуации. То есть в течение некоторого времени все работают по-старому, но при этом заполняются и новые структуры данных.

3. Потихоньку обработать все старые заказы, проставляя им соответствующий флаг.

4. Перейти на использование новой информации в запросах, клиенте.....

5. Грохнуть признак "заказ обработан по-новому", если он занимает место.
...
Рейтинг: 0 / 0
02.04.2007, 16:32
    #34431778
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по внесению изменений в живую базу
Программист-Любитель+ программу перевода из старого в новое. В час Х - переход.
Ох.... с некоторых пор я очень плохо отношусь к идее "час X - переход" и очень ценю медленные, плавные движения, при которых нет проблемы "остановиться на середине и проанализировать неожиданную ситуацию", не нарушая работоспособности комплекса.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по внесению изменений в живую базу / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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