Здравствуйте, mrTwister, Вы писали:
T>Здравствуйте, dimgel, Вы писали:
D>>Вот, ты сам и подтвердил, что ACID-ом тут и не пахнет, нужно вручную. T>Скажем так, ACID в случае с DDL не полностью в том смысле, что для отката может понадобится дополнительно пара приседаний.
Да понятно. Для бешенной собаки 30 верст не крюк. Да что там фанату MySQL пара приседаний... со штангой... 120 кг...
D>>Из сказанного это никак не следует, т.к. приведённый мной сценарий рушил метаданные независимо от того, работал с базой кто-нибудь ещё или нет. D>>И если уж на то пошло, условие down-time выполнялось автоматически, т.к. обновлялка работала при инициализации servlet context. T>Если с базой никто кроме тебя во время деплоймента не работает, то тогда зачем тебе транзакция?
Так мы дойдем что они вобщем и не нужны. Затем, что если апдейт версии завалится какой-нибудь ошибкой, БД и ее структура останется как до начала апдейта.
T>>>Но даже на оракле и скл сервере, все деплойменты которые я проводил/имел отношение/наблюдал проходили с down-time'ом на время бекапа (когда было возможно), прогона скрипта (без транзакций) и первичного тестирования. Так что в данном случае не было бы никакой разницы.
D>>Это вообще о чём и к чему?
T>Это вообще к тому, что возможность проводить большой деплоймент, для которого требуется отдельная транзакция по рабочей базе хоть и полезна, но на практике редко используемая.
Да-да-да. Если у вас эта возможность не используется, то она сразу переходит в раздел редко используемых.