fix: 06_master_sync.sql corregir errores SQL para MariaDB
1. ADD CONSTRAINT IF NOT EXISTS no es estándar en MariaDB < 10.5 — eliminado el bloque FK de admin_users.role_id (la integridad la gestiona la aplicación). 2. AFTER `pdf_path` fallaba porque la columna no existe en lab_form_envios — eliminado el AFTER, la columna se agrega al final de la tabla. Esto evita que la migración falle en cada deploy.
This commit is contained in:
@@ -166,21 +166,16 @@ CREATE TABLE IF NOT EXISTS `lab_config` (
|
||||
ALTER TABLE `admin_users`
|
||||
ADD COLUMN IF NOT EXISTS `role_id` int(11) DEFAULT NULL;
|
||||
|
||||
-- C1a) FK opcional: se añade solo si no existe ya
|
||||
-- (MariaDB/MySQL 10.x: ADD CONSTRAINT IF NOT EXISTS no es estándar,
|
||||
-- se ignora el error si ya existe usando INSERT IGNORE pattern)
|
||||
ALTER TABLE `admin_users`
|
||||
ADD CONSTRAINT IF NOT EXISTS `fk_admin_role`
|
||||
FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`)
|
||||
ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
-- C1a) FK opcional: omitida — ADD CONSTRAINT IF NOT EXISTS no es estándar
|
||||
-- en todas las versiones de MariaDB. La columna role_id ya existe; la FK
|
||||
-- se gestiona por la aplicación (integridad referencial vía código).
|
||||
|
||||
-- =============================================================================
|
||||
-- C2) COLUMNA: lab_form_envios.hash_verificacion (prod → local)
|
||||
-- =============================================================================
|
||||
ALTER TABLE `lab_form_envios`
|
||||
ADD COLUMN IF NOT EXISTS `hash_verificacion` char(64) DEFAULT NULL
|
||||
COMMENT 'SHA-256 del PDF generado, para verificación de integridad'
|
||||
AFTER `pdf_path`;
|
||||
COMMENT 'SHA-256 del PDF generado, para verificación de integridad';
|
||||
|
||||
-- =============================================================================
|
||||
-- C3) COLUMNAS: lab_formularios doc_* (prod → local / instalaciones nuevas)
|
||||
|
||||
Reference in New Issue
Block a user