grales
This commit is contained in:
35
winsaai_config_sqlserver.sql
Normal file
35
winsaai_config_sqlserver.sql
Normal file
@@ -0,0 +1,35 @@
|
||||
-- Tabla para configuración de WINSAAI vinculada a usuarios (SQL Server)
|
||||
CREATE TABLE winsaai_config (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
id_usuario INT NOT NULL, -- ID del usuario propietario de la configuración
|
||||
host NVARCHAR(255) NOT NULL, -- Dirección IP o DNS del servidor WINSAAI
|
||||
port INT NOT NULL DEFAULT 80, -- Puerto de conexión
|
||||
protocol NVARCHAR(10) NOT NULL DEFAULT 'https' CHECK (protocol IN ('http', 'https')), -- Protocolo de conexión
|
||||
usuario NVARCHAR(100) NOT NULL, -- Usuario de autenticación
|
||||
password NVARCHAR(500) NOT NULL, -- Contraseña encriptada
|
||||
sync_pedimentos BIT DEFAULT 1, -- Sincronizar pedimentos
|
||||
sync_coves BIT DEFAULT 1, -- Sincronizar COVES
|
||||
status NVARCHAR(20) NOT NULL DEFAULT 'inactivo' CHECK (status IN ('activo', 'inactivo', 'error')), -- Estado de la conexión
|
||||
last_sync DATETIME2 NULL, -- Última sincronización exitosa
|
||||
created_at DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||||
updated_at DATETIME2 NOT NULL DEFAULT GETDATE(),
|
||||
|
||||
-- Constraints
|
||||
CONSTRAINT UQ_winsaai_config_usuario UNIQUE (id_usuario) -- Un usuario solo puede tener una configuración
|
||||
);
|
||||
|
||||
-- Indices para mejorar rendimiento
|
||||
CREATE INDEX IX_winsaai_config_status ON winsaai_config (status);
|
||||
CREATE INDEX IX_winsaai_config_usuario ON winsaai_config (id_usuario);
|
||||
|
||||
-- Trigger para actualizar updated_at automáticamente
|
||||
CREATE TRIGGER TR_winsaai_config_updated_at
|
||||
ON winsaai_config
|
||||
AFTER UPDATE
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
UPDATE winsaai_config
|
||||
SET updated_at = GETDATE()
|
||||
WHERE id IN (SELECT id FROM inserted);
|
||||
END;
|
||||
Reference in New Issue
Block a user