- PostgreSQL 15 with PostGIS extension - 8 schemas for transport domain - ENUMs for viaje states, unit types, events - DDL documentation and conventions Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
141 lines
3.6 KiB
SQL
141 lines
3.6 KiB
SQL
-- =============================================================================
|
|
-- ERP TRANSPORTISTAS - Inicializacion de Schemas
|
|
-- =============================================================================
|
|
-- Archivo: 00-schemas-init.sql
|
|
-- Version: 1.0.0
|
|
-- Fecha: 2026-01-25
|
|
-- Descripcion: Crea los schemas especificos del giro transporte
|
|
-- =============================================================================
|
|
|
|
-- Extensiones requeridas
|
|
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
|
CREATE EXTENSION IF NOT EXISTS "postgis"; -- Para geolocalizacion
|
|
|
|
-- =============================================================================
|
|
-- SCHEMAS DEL GIRO TRANSPORTE
|
|
-- =============================================================================
|
|
|
|
-- Schema principal de transporte
|
|
CREATE SCHEMA IF NOT EXISTS transport;
|
|
COMMENT ON SCHEMA transport IS 'Ordenes de transporte, embarques, viajes, POD';
|
|
|
|
-- Schema de flota
|
|
CREATE SCHEMA IF NOT EXISTS fleet;
|
|
COMMENT ON SCHEMA fleet IS 'Unidades, remolques, operadores, documentos';
|
|
|
|
-- Schema de tracking
|
|
CREATE SCHEMA IF NOT EXISTS tracking;
|
|
COMMENT ON SCHEMA tracking IS 'Eventos GPS, geocercas, alertas';
|
|
|
|
-- Schema de combustible y gastos
|
|
CREATE SCHEMA IF NOT EXISTS fuel;
|
|
COMMENT ON SCHEMA fuel IS 'Control de combustible, peajes, gastos de viaje';
|
|
|
|
-- Schema de mantenimiento
|
|
CREATE SCHEMA IF NOT EXISTS maintenance;
|
|
COMMENT ON SCHEMA maintenance IS 'Mantenimiento preventivo y correctivo de flota';
|
|
|
|
-- Schema de carriers (terceros)
|
|
CREATE SCHEMA IF NOT EXISTS carriers;
|
|
COMMENT ON SCHEMA carriers IS 'Gestion de transportistas subcontratados';
|
|
|
|
-- Schema de facturacion transporte
|
|
CREATE SCHEMA IF NOT EXISTS billing;
|
|
COMMENT ON SCHEMA billing IS 'Tarifas, facturacion, recargos especificos transporte';
|
|
|
|
-- Schema de cumplimiento normativo
|
|
CREATE SCHEMA IF NOT EXISTS compliance;
|
|
COMMENT ON SCHEMA compliance IS 'Carta Porte, HOS, inspecciones, NOM-087/068';
|
|
|
|
-- =============================================================================
|
|
-- TIPOS ENUMERADOS COMUNES
|
|
-- =============================================================================
|
|
|
|
-- Estados del viaje
|
|
CREATE TYPE transport.estado_viaje AS ENUM (
|
|
'BORRADOR',
|
|
'PLANEADO',
|
|
'DESPACHADO',
|
|
'EN_TRANSITO',
|
|
'EN_DESTINO',
|
|
'ENTREGADO',
|
|
'CERRADO',
|
|
'FACTURADO',
|
|
'COBRADO',
|
|
'CANCELADO'
|
|
);
|
|
|
|
-- Tipos de unidad
|
|
CREATE TYPE fleet.tipo_unidad AS ENUM (
|
|
'TRACTORA',
|
|
'REMOLQUE',
|
|
'CAJA_SECA',
|
|
'CAJA_REFRIGERADA',
|
|
'PLATAFORMA',
|
|
'TANQUE',
|
|
'PORTACONTENEDOR',
|
|
'TORTON',
|
|
'RABON',
|
|
'CAMIONETA'
|
|
);
|
|
|
|
-- Estados de unidad
|
|
CREATE TYPE fleet.estado_unidad AS ENUM (
|
|
'DISPONIBLE',
|
|
'EN_VIAJE',
|
|
'EN_TALLER',
|
|
'BLOQUEADA',
|
|
'BAJA'
|
|
);
|
|
|
|
-- Tipos de evento tracking
|
|
CREATE TYPE tracking.tipo_evento AS ENUM (
|
|
'SALIDA',
|
|
'ARRIBO_ORIGEN',
|
|
'INICIO_CARGA',
|
|
'FIN_CARGA',
|
|
'ARRIBO_DESTINO',
|
|
'INICIO_DESCARGA',
|
|
'FIN_DESCARGA',
|
|
'ENTREGA_POD',
|
|
'DESVIO',
|
|
'PARADA',
|
|
'INCIDENTE',
|
|
'GPS_POSICION'
|
|
);
|
|
|
|
-- Fuente del evento
|
|
CREATE TYPE tracking.fuente_evento AS ENUM (
|
|
'GPS',
|
|
'APP_OPERADOR',
|
|
'SISTEMA',
|
|
'MANUAL',
|
|
'GEOCERCA'
|
|
);
|
|
|
|
-- Tipos de incidencia
|
|
CREATE TYPE transport.tipo_incidencia AS ENUM (
|
|
'RETRASO',
|
|
'RECHAZO',
|
|
'DANO',
|
|
'ROBO',
|
|
'FALTANTE',
|
|
'DEVOLUCION',
|
|
'ACCIDENTE',
|
|
'MULTA',
|
|
'OTRO'
|
|
);
|
|
|
|
-- Modalidad de servicio
|
|
CREATE TYPE transport.modalidad_servicio AS ENUM (
|
|
'FTL', -- Full Truck Load
|
|
'LTL', -- Less Than Truck Load
|
|
'DEDICADO',
|
|
'EXPRESS',
|
|
'CONSOLIDADO'
|
|
);
|
|
|
|
-- =============================================================================
|
|
-- FIN DE INICIALIZACION
|
|
-- =============================================================================
|