From 3701072bb388bfb7f184dc3af38752d97663c4a9 Mon Sep 17 00:00:00 2001 From: Jordan Diaz Date: Tue, 22 Sep 2026 17:28:39 +0000 Subject: [PATCH] docs(core): el comentario del motor InnoDB daba una razon falsa Decia que los INSERT parciales del CMS seguian colando porque el sql_mode de Forge no es estricto. Es falso: el CMS fija su propio modo al conectar (mysqlStrictMode(true) y TRADITIONAL en Db.php), y en un INSERT de una fila ese modo rechaza lo mismo con MyISAM que con InnoDB. Solo cambia el comentario. Co-Authored-By: Claude Opus 5.5 (1M context) --- cms/lib/database_functions.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cms/lib/database_functions.php b/cms/lib/database_functions.php index 313461f..e5a3ef9 100755 --- a/cms/lib/database_functions.php +++ b/cms/lib/database_functions.php @@ -75,10 +75,10 @@ function createMissingSchemaTablesAndFields() { if (!in_array($mysqlTableName, $mysqlTables)) { notice("Creating MySQL table for schema table: $tableName
\n"); // InnoDB (antes MyISAM): las tablas nuevas nacen con recuperacion - // ante caida y bloqueo por fila. El sql_mode de Forge no es - // estricto, asi que los INSERT parciales del CMS (AcaiAPI no - // rellena dragSortOrder ni los checkboxes) siguen colando igual - // que con MyISAM. Ver docs/motor-innodb.md del repo de Forge. + // ante caida y bloqueo por fila. No cambia que INSERT se aceptan: + // el CMS conecta en modo estricto (mysqlStrictMode / TRADITIONAL + // en Db.php) y en un INSERT de una fila eso rechaza lo mismo con + // MyISAM que con InnoDB. Ver docs/motor-innodb.md del repo Forge. $result = mysql_query("CREATE TABLE `".mysql_real_escape_string($mysqlTableName)."` (num int(10) unsigned NOT NULL auto_increment, PRIMARY KEY (num)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"); if (!$result) { alert("Error creating MySQL table: $mysqlTableName
\MySQL error was: ". htmlspecialchars(mysql_error()) . "\n"); } }