Если вы хотите, чтобы информация о версии сохранялась в файле, вы можете сделать это как есть.Но если вы хотите, чтобы он хранился в базе данных, тогда он должен существовать как комментарий внутри фактического процесса, иначе Oracle его не сохранит.
Я не знаю, почему кто-то хочет хранить всю историю версий внутрипроцесс хотя.Разве не для этого нужна ваша система контроля версий?И эта история в любом случае просто комментарии, вам все равно нужно вернуться к разнице с вашей предыдущей версией, если вы хотите увидеть фактические изменения кода.
Обычно я устанавливаю теги для системы контроля версий в комментариях враздел объявлений, чтобы система контроля версий обновляла его автоматически.Таким образом, я всегда могу видеть текущую версию, и этого достаточно.
Действительно, в моем текущем проекте стандартная система обработки / регистрации исключений, которую мы построили, получает информацию о версии из переменных в наших пакетах API, чтобымы можем связать записанные ошибки кода с версиями программного обеспечения.Переменные обновляются автоматически через теги, которые распознает система контроля версий.
например, каждый пакет имеет следующее:
create or replace package body pkg_payment_api as
cs_package_name CONSTANT VARCHAR2(60) :='pkg_payment_api';
cs_package_version CONSTANT VARCHAR2(30) := '$Rev: 24992 $';
cs_package_author CONSTANT VARCHAR2(30) := '$Author: MBrought $';
cs_package_date CONSTANT VARCHAR2(60) := '$Date: 2011-03-08 14:54:48 -0500 (Tue, 08 Mar 2011) $';
FUNCTION get_package_version
RETURN varchar2
IS
BEGIN
RETURN 'Version: '||cs_package_version || ' Author: ' ||cs_package_author || ' Timestamp: '||cs_package_date;
END get_package_version;
И каждая открытая функция и процедура в этом пакете имеет обработчик исключенийэто вызывает общую процедуру регистрации, которая будет хранить исключение, время, информацию о версии и другую соответствующую информацию.
Но я никоим образом не сохраняю всю информацию о версии в базе данных в базе данных.База данных просто нуждается в текущей сборке и способах определения версий ее компонентов - и все.