Мне любопытно узнать, как люди управляют своими пакетами в своих приложениях.Стратегия управления пакетами Oracle без нарушения кода
Например, в нашем экземпляре разработки разработчик приложения может захотеть изменить хранимую процедуру. Однако изменение хранимой процедуры приведет к поломке существующего Java-кода до тех пор, пока уровень DAO не будет обновлен для внесения изменений.
Моя типичная практика заключалась в том, чтобы внедрить новую процедуру в пакет «DEV». Затем разработчик может изменить свою ссылку на этот пакет, выполнить его тестирование, а затем, когда мы будем готовы, мы можем заменить процедуру в пакете «production», удалить ее из DEV, а разработчик изменит свою ссылку на производственный пакет.
Однако, я нахожу, что это не работает так плавно, как хотелось бы. Во-первых, если есть куча Java-кода, который зависит от пакета DEV, тогда я в такой же ситуации, как если бы редактировал производственный пакет напрямую - если я сломаю пакет, я сломаю кучу кода.
Во-вторых, люди становятся занятыми, и мы не собираемся перемещать пакет в производство, как только будем. Затем у нас есть две версии хранимой процедуры, плавающие вокруг, и трудно запомнить, что было перенесено в производство, а что нет.
Цель состоит в том, чтобы разработчики работали. Да, это сервер разработки, но мы не хотим внезапно нарушать код.
Может кто-нибудь предложить методологии, которые работали для них, чтобы решить эту проблему?