|
|
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
ТЗ: есть несколько подразделений, на которых стоит одинаковый софт время от времени возникает необходимость в изменении структуры баз (изменения законодательства, проч.). Хотелось бы услышать мнение "авторитетов" :) кто как обновляет структуру баз (FB1.5)? Используя postgresql, я делал так: skeleton.sql - "скелет" базы updateXXX.sql - апдейт до версии ХХХ пользователь при получении апдейта ручками пускал psql и обновлялся до версии ХХХ. В FB1.5 столкнулся с проблемой некорректной работой команд DDL при выполнении скрипта из файла. Подозреваю, что из-за неявного commit после команды DDL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 13:14:16 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Конкретнее о своих граблях, плс. Чем выполнял скрипт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 13:16:01 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
do_sql.bat <update_script> <password> Код: plaintext 1. 2. 3. 4. Например, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. вылетел на Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 13:42:33 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
хех, может ему не понравился default 1 references accounts при том что изменения в accounts не были подтверждены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 13:47:34 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Перед тем как строить foreign key, ты должен всех выгнать из базы. Т.к. у IB есть такя (неприятная) особенность - внешние ключи строятся только при монопольном использовании таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 13:52:05 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Понятно. Все это решаемо, основная проблема в том, что структура базы между ЯВНЫМИ Код: plaintext 1. 2. не является величиной постоянной :( Собственно, почему и появился вопрос :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 13:59:21 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
2Мимопроходящий: но за информацию спасибо. Не знал... ЗЫ. Идём обедать? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 14:06:59 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
А ты в где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 14:08:05 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Кривой Рог.... А чё, никто таким извращением не занимается? (обновлением структуры баз) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 15:34:54 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Это актульно (и несколько проблематично) только для тиражируемых продуктов. Когда у заказчика нет собственного DBA, а зачастую и вообще квалифицированного IT-специалиста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 15:43:40 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
...или подразделения разбросаны по большой территории Ээээх. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 15:47:23 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Шо ж, стреляться? Или не обновлятся? Или коммерческо-профессиональная тайна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 17:52:15 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Ну дык и обновляй. Где проблема-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 17:56:20 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Дык, допустим, не выгнали при обновлении всех из базы. Запустили апдейт. Часть изменений принята, часть нет. Что дальше? :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 18:02:03 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
авторДык, допустим, не выгнали при обновлении всех из базы. ВЫГАНЯЙ ВСЕГДА ВСЕХ, особенно если у тебя IB6, у меня по этой оплошности база 2 раза сыпалась, да так что никакие DatabaseValidation не помогли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 18:26:24 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
2vovan1: моя бы воля я бы их ваще туда не пускал :)) Код: plaintext 1. 2. 3. вписал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 18:52:06 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Учти, не безопасно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 18:56:40 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
2Мимопроходящий: А почему/как лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 19:09:11 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Потому, что в IB/FB принудительное снятие коннекта не всегда проходит без последствий. Существует вероятность порчи базы. Пусть небольшая, но она есть. Кроме того, ShutDown не отключает юзеров фамилия которых SYSDBA, а также владельца/создателя (owner) базы. Ну и в дополнение к этому, если у тебя CS, то ещё и у него есть свои особенности. Наиболее безопасно - сказать народу: "Тётеньки и дяденьки (буде такие есть)! Все нафик быстренько закрыли свои аппликации! Через 5 минут начну отстрел!". И только после этого делать ShutDown, но не -force, а -tran . Ну а далее - по обстоятельствам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 19:22:47 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
...вздыхаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 19:52:22 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Т.е. весь народ бегает с палками/громкоговорителями, выдёргивает сетевые кабели как со времен dbf/btr? А как же прогресс? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 20:28:01 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
А, понял :) Прогресс - это выскакивающее окошко: "Администратор запретил доступ к БД, а кассир вышел на пару часиков, поэтому к обеду, если нормально проапдейтимся, Вы сможете начать работу" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2004, 20:30:16 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Не нужно ничего выдёргивать. Делаешь -shut - tran. Новые транзакции не стартуются. Но старые транзакции юзеры должны завершить до окончания таймаута. Если они сидят и спят, то ShutDown не пройдёт. Смотришь кто из юзеров остался сидеть в базе. Говоришь: "Убью, 6ля!" (персонально тому, кто спит). Повторяешь -shut - tran. Если прошло успешно, накатываешь апдейт. Поднимаешь базу в on-line. Даёшь отмашку: "Всё! Можно уже!" Идёшь пить пиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 11:12:20 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
А подскажи-ка, пожалуйста, как можно из скрипта проверить наличие подключенных юзеров и отвалиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 11:54:15 |
|
||
|
Обновление структуры БД
|
|||
|---|---|---|---|
|
#18+
Если у тебя CS, то можно средствами ОС. Если же SS, то придётся писать свою небольшую утилиту командной строки, которая бы дёргала isc_database_info( ) с параметром isc_info_user_names . Написать такую програмку - делов на пару часов. И я честно говоря удивлён, почему ничего подобного не включено в дистрибутив. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2004, 12:15:49 |
|
||
|
|

start [/forum/topic.php?fid=40&tid=1578601]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
309ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 668ms |

| 0 / 0 |
