На этот вопрос нет простого ответа, но, по сути, задача развертывания кода аналогична для любого компьютерного языка, с основными отличиями для компонента базы данных:
- Мы не можем удалить и перестроить таблицы, потому что нам нужно сохранить их содержимое.
- Наш код компилируется в базе данных, поэтому нет бинарных файлов для развертывания.
Первое правило для разработки PL / SQL заключается в том, что вы всегда должны всегда работать с файлами, контролируемыми исходным кодом, например, код для mypackage
будет находиться в исходном файле с именем mypackage.pck
(или какое расширение файла работает лучше всего) с выбранной вами IDE, если она не .sql
). Не редактируйте исходный код базы данных напрямую, за исключением простого тестирования, когда вы не заботитесь о сохранении изменений.
Некоторые сайты выполняют только инкрементные развертывания, в то время как другие используют полную разборку и перестройку из ветки выпусков для основных выпусков, что требует немного больше обдумывания, но в конечном итоге более чистое. Затем развертывание состоит из запуска сценариев, перекомпиляции схемы и, возможно, запуска некоторых тестов и проверок, чтобы убедиться, что она работает. Вам понадобится стратегия ветвления, возможно, какой-то сценарий «все запустить в этой папке» , и в идеале некоторые инструменты, такие как Team City или Jenkins, для максимальной автоматизации, хотя я не думаю, что для PL / SQL готово столько же, сколько и для других основных языков, таких как Java.
Процесс развертывания обычно выполняется группой поддержки приложений, поскольку он не требует каких-либо привилегий администратора баз данных, если вы не создаете схемы или роли и т. Д., Хотя некоторые сайты могут организовывать роли поддержки по-разному.