¡Esta es una revisión vieja del documento!
Esta sección define el proceso de creación de scripts para soportar los desarrollos, ajustes, mejoras y solicitudes de cambios que impacten el modelo entidad relación de SICOF ERP.
Versión | Elabora | Revisa | Aprueba | Fecha Publicación | Observaciones |
---|---|---|---|---|---|
1.0 | carlos.torres, abdimar.estrada | daberson.henao | daberson.henao | 05/10/2020 | Versión Inicial |
Antes de describir el proceso es importante la compresión de los siguientes conceptos.
A continuación se describe el proceso de nombramiento de scripts
Asumiendo la siguiente Url genérica http://adacsc.co:1443/svn/repository/ADA/SICOF/ScriptsDB/SICOFERP/ se presentan los siguientes ejemplos:
Rama - Almacenamiento | Versión | Numeración Externa | Funcionalidad Propietaria. | Numeración Interna. | Evolución | Sentencia | Nombre | Reversión | Tipo |
---|---|---|---|---|---|---|---|---|---|
branches | Versión 1.0 | 00000000 | FUNCIONALIDAD PROPIETARIA | 1001 | CREATE TABLE | ESQUEMA.MAE_PRUEBAS | |||
branches | Versión 1.0 | 00000000 | FUNCIONALIDAD PROPIETARIA | 1001 | CREATE TABLE | ESQUEMA.MAE_PRUEBAS | REVERT | ||
branches | Versión 1.0 | 00000000 | FUNCIONALIDAD PROPIETARIA | 1001 | a | ALTER TABLE | ESQUEMA.MAE_PRUEBAS | ||
branches | Versión 1.0 | 00000000 | FUNCIONALIDAD PROPIETARIA | 1002 | CREATE OR REPLACE FORCE VIEW | ESQUEMA.V_PRUEBAS | |||
branches | Versión 1.0 | 00000000 | FUNCIONALIDAD PROPIETARIA | 1003 | a | CREATE OR REPLACE PACKAGE | ESQUEMA.PCK_PRUEBAS | SPEC | |
branches | Versión 1.0 | 00000000 | FUNCIONALIDAD PROPIETARIA | 1003 | b | CREATE OR REPLACE PACKAGE | ESQUEMA.PCK_PRUEBAS | BODY |
A lo largo de la sección se definira cada fragmento del nombramiento de scripts
Según el Flujo de Registro los scripts deben almacenarse según la siguiente sección Repositorio SVN
Toda Funcionalidad Propietaria debe estar versiona empezando con Versión 1.0. a Continuación se definen los siguientes lineamientos:
Se debe utilizar las extenciones registradas en la sección Estandares y Prefijos PL/SQL Extensiones de archivos
Cada script debe agruparse de acuerdo a la Funcionalidad Propietaria y estar contenido en el directorio raíz de la funcionalidad.
Cada directorio que represente una Funcionalidad Propietaria debe iniciar con una numeración de 8 dígitos, ser secuencial e iniciar a partir de 10000000.
Ejemplo:
00000000 FUNCIONALIDAD PROPIETARIA
La numeración [00000000 - 09999999] está reservada para scripts de procesos internos y no debe ser utilizada para registrar scripts de lógica del negocio.
Cada directorio que represente una Funcionalidad Propietaria deberá contener scripts de evolución de la funcionalidad, estos también deben estar numerados con 4 dígitos de forma secuencial y deben iniciar a partir de 1000.
Ejemplo:
1001 CREATE TABLE ESQUEMA.MAE_PRUEBAS.sql
La numeración [0000 - 0999] está reservada para scripts de procesos internos y no debe ser utilizada para registrar scripts de lógica del negocio.
Los scripts deben ser generados por objetos, no se deben agrupar.
Cada script debe registrar en su nombre la sentencia general que describirá y debe estar en mayúsculas.
Ejemplo:
1001 CREATE TABLE ESQUEMA.MAE_PRUEBAS.sql 1002 CREATE OR REPLACE FORCE VIEW ESQUEMA.V_PRUEBAS.sql
Según el tipo de objeto se pueden presentar los siguientes tipos de evoluciones de scripts:
Este tipo de cambios modifican el script inicial. No es necesario crear un nuevo script ya que el control de versiones permitirá la gestión de cambios. Aplica para los siguientes tipos de objetos:
Ejemplo:
1002 CREATE OR REPLACE FORCE VIEW ESQUEMA.V_PRUEBAS.sql
Nota Todos los objetos que en su definición tengan especificación y cuerpo deben registrarse en archivos separados de la siguiente manera:
Ejemplo:
1003a CREATE OR REPLACE PACKAGE ESQUEMA.PCK_PRUEBAS SPEC.sql 1003b CREATE OR REPLACE PACKAGE ESQUEMA.PCK_PRUEBAS BODY.sql
Este tipo de cambios se anexan al script inicial por medio de otro script. No es posible modificar el archivo inicial porque los objetos no permiten la instrucción CREATE OR REPLACE. Aplica para los objetos:
Los scripts de evolución por estado deben ser nombrados por el mismo nombre del script original pero la numeración debe estar acompañada de letras en minusculas (al final de la numeración) de la [a-z] en caso de alcanzar el limite se procederá con las combianciones [aa-az] y asi sucesivamente.
Ejemplos:
1002 CREATE TABLE PRESUP01.MAE_PRUEBAS.sql 1002a ALTER TABLE PRESUP01.MAE_PRUEBAS.sql 1002b ALTER TABLE PRESUP01.MAE_PRUEBAS.sql 1002c ALTER TABLE PRESUP01.MAE_PRUEBAS.sql
Cada Funcionalidad Propietaria contiene un directorio llamado Revert el cual almacenará los scripts de reversión. A continuación se dictan los lineaminetos para crearlos:
Ejemplos:
Script de Actualización: 1001 CREATE TABLE ESQUEMA.MAE_PRUEBAS.sql Script de Reversión: 1001 CREATE TABLE ESQUEMA.MAE_PRUEBAS REVERT.sql