+ All Categories
Home > Documents > Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último...

Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último...

Date post: 09-Nov-2018
Category:
Upload: nguyendan
View: 238 times
Download: 0 times
Share this document with a friend
39
Chamilo LMS - Support #8200 Error MySQL (foreign key) al actualizar de 1.9.10 a 1.10.4 14/04/2016 17:54 - Jose Garcia Status: Assigned Start date: 14/04/2016 Priority: High Due date: Assignee: Jose Garcia % Done: 80% Category: Installation / Migration Estimated time: 0.00 hour Target version: 1.10.6 Spent time: 0.00 hour Complexity: Normal SCRUM pts - complexity: ? Description Hola. Un usuario en un hosting Linux con Apache 2.4.12, PHP 5.5.26 y MySQL 5.6.25 Usuario sin acceso SSH (sólo FTP y Cpanel) Su hosting no dispone de git ni composer Utiliza un Chamilo 1.9.10.2 instalado y desea migrar a Chamilo 1.9.10.4. Sobreescribe por FTP los ficheros y carpetas existentes con los de la 1.10 descargada de https://chamilo.org/chamilo-lms/ Inicia el asistente de migración actualizando desde la 1.9.10.2 a través de la opción main/install/index.php (actualizar desde una versión 1.9) pero no logra finalizar la actualización. Le muestra un error que indico más abajo. Revisando las opciones en https://github.com/chamilo/chamilo-lms/tree/1.10.x de Upgrade from 1.9.x indica If you have previously updated database rows manually, you might face issue with FOREIGN KEYS during the upgrade process. Please make sure your database is consistent before upgrading. This usually means making sure that you have to delete rows from tables referring to rows which have been deleted from the user or access_url tables. Typically: DELETE FROM access_url_rel_course WHERE access_url_id NOT IN (SELECT id FROM access_url); ¿puede estar relacionado con el error que se indica más abajo sobre FOREIGN KEYS? Parece apuntar a algunas tablas que no tienen los valores adecuados para realizar la migración. ¿Sin acceso SSH de que forma se podría realizar la comprobación de que tiene todas las tablas correctamente antes de la migración en lugar de php bin/doctrine.php migrations:migrate --configuration=app/config/migrations.yml ? ejecutando las consultas SQL existentes en app/Migrations/Schema/V110 desde PhpMyAdmin individualmente? ¿Existe algún script php para realizar la comprobación desde el propio Chamilo antes de la actualización a Chamilo 1.10.4? NOTAS DEL PROCESO EN HOSTING: Paso 5 de 6 – Parámetros de configuración Los siguientes valores se grabarán en su archivo de configuración main/inc/conf/configuration.php: app/config/configuration.php Paso 7 – Ejecución del proceso de actualización Por favor espere. Esto podría tomar un tiempo... 09/11/2018 1/38
Transcript
Page 1: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Chamilo LMS - Support #8200Error MySQL (foreign key) al actualizar de 1.9.10 a 1.10.414/04/2016 17:54 - Jose Garcia

Status: Assigned Start date: 14/04/2016Priority: High Due date:Assignee: Jose Garcia % Done: 80%Category: Installation / Migration Estimated time: 0.00 hourTarget version: 1.10.6 Spent time: 0.00 hourComplexity: Normal SCRUM pts - complexity:?Description

Hola.

Un usuario en un hosting Linux con Apache 2.4.12, PHP 5.5.26 y MySQL 5.6.25Usuario sin acceso SSH (sólo FTP y Cpanel)Su hosting no dispone de git ni composer

Utiliza un Chamilo 1.9.10.2 instalado y desea migrar a Chamilo 1.9.10.4.

Sobreescribe por FTP los ficheros y carpetas existentes con los de la 1.10 descargada de https://chamilo.org/chamilo-lms/

Inicia el asistente de migración actualizando desde la 1.9.10.2 a través de la opción main/install/index.php (actualizar desde unaversión 1.9) pero no logra finalizar la actualización. Le muestra un error que indico más abajo.

Revisando las opciones en https://github.com/chamilo/chamilo-lms/tree/1.10.x de Upgrade from 1.9.x indica

If you have previously updated database rows manually, you might face issue with FOREIGN KEYS during the upgradeprocess. Please make sure your database is consistent before upgrading. This usually means making sure that you have todelete rows from tables referring to rows which have been deleted from the user or access_url tables. Typically:

DELETE FROM access_url_rel_course WHERE access_url_id NOT IN (SELECT id FROM access_url);

¿puede estar relacionado con el error que se indica más abajo sobre FOREIGN KEYS? Parece apuntar a algunas tablas que notienen los valores adecuados para realizar la migración.

¿Sin acceso SSH de que forma se podría realizar la comprobación de que tiene todas las tablas correctamente antes de la migraciónen lugar de

php bin/doctrine.php migrations:migrate --configuration=app/config/migrations.yml ?

ejecutando las consultas SQL existentes en app/Migrations/Schema/V110 desde PhpMyAdmin individualmente?

¿Existe algún script php para realizar la comprobación desde el propio Chamilo antes de la actualización a Chamilo 1.10.4?

NOTAS DEL PROCESO EN HOSTING:

Paso 5 de 6 – Parámetros de configuraciónLos siguientes valores se grabarán en su archivo de configuración main/inc/conf/configuration.php: app/config/configuration.php

Paso 7 – Ejecución del proceso de actualizaciónPor favor espere. Esto podría tomar un tiempo...

09/11/2018 1/38

Page 2: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

ERROR: An exception occurred while executing 'ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C181330D47E9FOREIGN KEY (to_group_id) REFERENCES c_group_info (iid)':

SQLSTATE23000: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails(`basededatos`.`#sql-288c_4a`, CONSTRAINT `FK_1D84C181330D47E9` FOREIGN KEY (`to_group_id`) REFERENCES`c_group_info` (`iid`))

La base de datos MySQL ocupa más de 1 Gb y tiene distintos collate como latin1_spanish_ci, utf8_unicode_ci con distintosmotores como InnoDb y MyISAM en bastantes tablas.

¿Es aconsejable unificar antes todas las tablas a un sólo motor como InnoDb y colatte ut8_unicode_ci o Utf8mb4 ?

No se ha copiado la configuración en el proceso a app/config/configuration.php con los valores existentes enmain/inc/conf/configuration.phptras el mensaje no se ha movido los cursos /app/courses

El error log de Apache indica

Update-db script: memory_limit set to -1, referer:http://.../main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.phpUpdate-db script: max_execution_time 0, refererphpUpdate-db script: max_execution_time 0, referer:http://.../main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.phpStarting migration process from 1.9.10.2 (2016-04-14 08:09:19), referer: http://.../main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.phpUpdate-db script: max_ephpStarting migration process from 1.9.10.2 (2016-04-14 08:09:19), referer:http://.../main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.phpUpdate-db script: max_execution_time 0, referer: http://.../main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.phpStarting migration process from 1.9.10.2 (2016-04-14 08:09:19), referer: http://.../main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.phpThere was an error during running migrations. CphpUpdate-db script: max_execution_time 0, referer:http://.../main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.phpStarting migration process from 1.9.10.2 (2016-04-14 08:09:19), referer: http://.../main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.phpThere was an error during running migrations. Check error.log, referer: http://.../main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.phpphpStarting migration process from 1.9.10.2 (2016-04-14 08:09:19), referer:http://.../main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.phpThere was an error during running migrations. Check error.log, referer: http://.../main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.phpphpThere was an error during running migrations. Check error.log, referer:http://.../main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.phpphp

- RÉPLICA LOCALNos ha proporcionado una copia de su sitio Chamilo para realizar unas pruebas y hemos simulado el proceso en local de Chamilo 1.9a 1.10.4 en un entorno similar.

Ejecutando php bin/doctrine.php migrations:migrate --configuration=app/config/migrations.yml nos genera la siguiente salida:

Loading configuration from command option: app/config/migrations.yml

Chamilo Migrations

WARNING! You are about to execute a database migration that could result in schema changes and data lost. Are you sureyou wish to continue? (y/n)yMigrating up to 20151221150100 from 20150603151200

++ migrating 20150603181728

09/11/2018 2/38

Page 3: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

-> ALTER TABLE course ENGINE=InnoDB -> ALTER TABLE c_group_info ENGINE=InnoDB -> ALTER TABLE session ENGINE=InnoDB -> ALTER TABLE user ENGINE=InnoDB -> ALTER TABLE c_item_property ENGINE=InnoDB -> ALTER TABLE c_lp ADD max_attempts INT NOT NULL, ADD subscribe_users INT NOT NULL DEFAULT 0Migration 20150603181728 failed during Execution. Error An exception occurred while executing 'ALTER TABLE c_lp ADDmax_attempts INT NOT NULL, ADD subscribe_users INT NOT NULL DEFAULT 0':

SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'max_attempts'

[Doctrine\DBAL\Exception\NonUniqueFieldNameException] An exception occurred while executing 'ALTER TABLE c_lp ADD max_attempts INT NOT NULL, ADD subscribe_users INTNOT NULL DEFAULT 0': SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'max_attempts'

[Doctrine\DBAL\Driver\PDOException] SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'max_attempts'

[PDOException] SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'max_attempts'

migrations:migrate [--write-sql] [--dry-run] [--query-time] [--configuration [CONFIGURATION]] [--db-configuration[DB-CONFIGURATION]] [--] [<version>]

Gracias.

Un saludo.

Associated revisionsRevision c44bfa0b - 18/04/2016 14:56 - jmontoyaa

Clean c_item_property of courses that don't exist see #8200

Revision 4ae0f135 - 27/04/2016 08:36 - jmontoyaa

Remove c_item_property if group doesn't exist see #8200

Revision f1c94b89 - 29/04/2016 23:51 - Angel Fernando Quiroz Campos

Fix mirations for extra fields - refs #8200

Revision f2e49600 - 02/05/2016 09:44 - jmontoyaa

WIP: Fix mysql 5.7 dates with "0000-00-00 00:00:00" values see #8200

09/11/2018 3/38

Page 4: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Revision 97c0d24a - 02/05/2016 17:55 - Angel Fernando Quiroz Campos

Fix migration using the group idd instead of group id in c_item_property - refs #8200

Revision d9b490b5 - 03/05/2016 09:00 - jmontoyaa

Add sql_mode = '' to avoid errors in php 5.7 see #8200

Fix queries

Revision a160cf70 - 17/05/2016 10:52 - Jose García (Nosolored)

Fix migration when ids are autoincrement - refs #8200

Revision c1114824 - 17/05/2016 19:01 - Angel Fernando Quiroz Campos

Merge pull request #1157 from nosolored/1.10.x

Fix migration when ids are autoincrement - refs #8200

Revision 2cf9c3ed - 20/05/2016 08:21 - Jose García (Nosolored)

Fix id_coach in session table - refs #8200

Revision dceb5164 - 30/05/2016 10:49 - Jose García (Nosolored)

Add index to accelerate query - refs #8200

Revision ce7f036f - 07/07/2016 13:43 - Jose García (Nosolored)

Fix- Add index to accelerate query - refs #8200

Revision a8283aa9 - 07/07/2016 15:45 - Angel Fernando Quiroz Campos

Merge pull request #1198 from nosolored/t0001

Add index to accelerate query - refs #8200

Revision 2d3d7847 - 13/07/2016 09:12 - jmontoyaa

Remove unused v111 migration, update changes from 1.11.x see #8200

History#1 - 14/04/2016 18:42 - Jose Garcia

09/11/2018 4/38

Page 5: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Hola.

Con los últimos cambios aplicados desde https://github.com/chamilo/chamilo-lms/tree/1.10.x en la instalación local el resultado es el mismo queindicaba anteriormente.

Un saludo.

#2 - 14/04/2016 18:57 - Yannick Warnier- Status changed from New to Assigned- Assignee set to Julio Montoya- Priority changed from Normal to High

También el equipo de softaculous ha reportado el problema. Personalmente, comenté la linea dentro de Migrations que generaba el problema (dosveces la misma acción) y todo funcionó bien, pero Julio es responsable de haber añadido esta línea si bien recuerdo, por lo que quisiera que verifiqueel mismo como corregirlo bien.

De ahí tendremos que publicar una 1.10.6 correctiva.

#3 - 17/04/2016 13:49 - Julio Montoya

El campo "c_lp.max_attempts" no existe en chamilo 1.9.X oficialmente.Por lo que la migración debería de funcionar correctamente.

#4 - 17/04/2016 13:52 - Julio Montoya

Acabo de agregar unas condiciones:

https://github.com/chamilo/chamilo-lms/commit/30648a5154d2e3b31217ef8baeaccd722ddff36e

#5 - 17/04/2016 13:53 - Julio Montoya- Status changed from Assigned to Needs more info- Assignee changed from Julio Montoya to Yannick Warnier

Yannick Warnier wrote:

También el equipo de softaculous ha reportado el problema. Personalmente, comenté la linea dentro de Migrations que generaba el problema(dos veces la misma acción) y todo funcionó bien,

Cuál es la linea en cuestión?

#6 - 18/04/2016 13:46 - Jose Garcia

Gracias.

Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de

09/11/2018 5/38

Page 6: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

con la base de datos Chamilo 1.9 y a través de main/install/

se inicia el proceso pero en la opción finalmain/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.php muestra lo siguiente

Detalles

ERROR: An exception occurred while executing 'ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C181330D47E9 FOREIGNKEY (to_group_id) REFERENCES c_group_info (iid)':

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails(`basededatos`.`#sql-12b0_15`, CONSTRAINT `FK_1D84C181330D47E9` FOREIGN KEY (`to_group_id`) REFERENCES `c_group_info`(`iid`))

y no permite entrar en el aula. Seguimos realizando pruebas.

El resultado de ejecutar lo que se indica en

To update your database to the latest version, go to your Chamilo root folder and typephp bin/doctrine.php migrations:migrate --configuration=app/config/migrations.yml

es el siguiente

Loading configuration from command option: app/config/migrations.yml

Chamilo Migrations

WARNING! You are about to execute a database migration that could result in schema changes and data lost. Are you sure you wish tocontinue? (y/n)YMigrating up to 20151221150100 from 20150603151200

++ migrating 20150603181728

-> ALTER TABLE course ENGINE=InnoDB -> ALTER TABLE c_group_info ENGINE=InnoDB -> ALTER TABLE session ENGINE=InnoDB -> ALTER TABLE user ENGINE=InnoDB -> ALTER TABLE c_item_property ENGINE=InnoDB -> ALTER TABLE c_item_property MODIFY c_id INT DEFAULT NULL, MODIFY lastedit_user_id INT NOT NULL, MODIFY to_group_id INT NULL, MODIFY insert_user_id INT DEFAULT NULL, MODIFY start_visible DATETIME DEFAULT NULL, MODIFY end_visible DATETIME DEFAULT NULL, MODIFY session_id INT DEFAULT NULL, MODIFY to_user_id INT NULL

-> UPDATE c_item_property SET session_id = NULL WHERE session_id = 0 -> UPDATE c_item_property SET to_group_id = NULL WHERE to_group_id = 0

09/11/2018 6/38

Page 7: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

-> UPDATE c_item_property SET to_user_id = NULL WHERE to_user_id = 0 -> UPDATE c_item_property SET start_visible = NULL WHERE start_visible = '0000-00-00 00:00:00' -> UPDATE c_item_property SET end_visible = NULL WHERE end_visible = '0000-00-00 00:00:00' -> UPDATE c_item_property SET to_user_id = NULL WHERE to_user_id NOT IN ( SELECT id FROM user )

-> UPDATE c_item_property SET insert_user_id = NULL WHERE insert_user_id NOT IN ( SELECT id FROM user )

-> UPDATE c_item_property SET session_id = NULL WHERE session_id NOT IN ( SELECT id FROM session )

-> DELETE FROM c_item_property WHERE c_id = 0 -> DELETE FROM course_rel_user WHERE user_id = 0 -> ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C18191D79BD3 FOREIGN KEY (c_id) REFERENCES course (id)Migration 20150603181728 failed during Execution. Error An exception occurred while executing 'ALTER TABLE c_item_property ADDCONSTRAINT FK_1D84C18191D79BD3 FOREIGN KEY (c_id) REFERENCES course (id)':

SQLSTATE[23000]: Integrity constraint violation: 1022 Can't write; duplicate key in table '#sql-12b0_1'

[Doctrine\DBAL\Exception\DriverException] An exception occurred while executing 'ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C18191D79BD3 FOREIGN KEY (c_id)REFERENCES course (id)': SQLSTATE[23000]: Integrity constraint violation: 1022 Can't write; duplicate key in table '#sql-12b0_1'

[Doctrine\DBAL\Driver\PDOException] SQLSTATE[23000]: Integrity constraint violation: 1022 Can't write; duplicate key in table '#sql-12b0_1'

[PDOException] SQLSTATE[23000]: Integrity constraint violation: 1022 Can't write; duplicate key in table '#sql-12b0_1'

migrations:migrate [--write-sql] [--dry-run] [--query-time] [--configuration [CONFIGURATION]] [--db-configuration [DB-CONFIGURATION]] [--][<version>]

Un saludo.

#7 - 18/04/2016 14:57 - Julio Montoya- Status changed from Needs more info to Needs testing- Assignee deleted (Yannick Warnier)

Acabo de agrear una correción:

https://github.com/chamilo/chamilo-lms/commit/c44bfa0b5c73cb4fa8a891ccfb066ed9e6dae341

09/11/2018 7/38

Page 8: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Para este error:

ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C18191D79BD3 FOREIGN KEY (c_id) REFERENCES course (id)

#8 - 18/04/2016 16:51 - Jose Garcia

Hola.

Segumos realizando pruebas.

Hemos aplicado la corrección del github de https://github.com/chamilo/chamilo-lms/tree/1.10.x

Con main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.php

muestra

ERROR: An exception occurred while executing 'ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C181330D47E9 FOREIGNKEY (to_group_id) REFERENCES c_group_info (iid)':

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails(`basededatos`.`#sql-12b0_49`, CONSTRAINT `FK_1D84C181330D47E9` FOREIGN KEY (`to_group_id`) REFERENCES `c_group_info`(`iid`))

y con

php bin/doctrine.php migrations:migrate --configuration=app/config/migrations.yml

Loading configuration from command option: app/config/migrations.yml

Chamilo Migrations

WARNING! You are about to execute a database migration that could result in schema changes and data lost. Are you sure you wish tocontinue? (y/n)yMigrating up to 20151221150100 from 20150603151200

++ migrating 20150603181728

-> ALTER TABLE course ENGINE=InnoDB -> ALTER TABLE c_group_info ENGINE=InnoDB -> ALTER TABLE session ENGINE=InnoDB -> ALTER TABLE user ENGINE=InnoDB -> ALTER TABLE c_item_property ENGINE=InnoDB -> ALTER TABLE c_item_property MODIFY c_id INT DEFAULT NULL, MODIFY lastedit_user_id INT NOT NULL, MODIFY to_group_id INT NULL, MODIFY insert_user_id INT DEFAULT NULL, MODIFY start_visible DATETIME DEFAULT NULL, MODIFY end_visible DATETIME DEFAULT NULL,

09/11/2018 8/38

Page 9: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

MODIFY session_id INT DEFAULT NULL, MODIFY to_user_id INT NULL

-> UPDATE c_item_property SET session_id = NULL WHERE session_id = 0 -> UPDATE c_item_property SET to_group_id = NULL WHERE to_group_id = 0 -> UPDATE c_item_property SET to_user_id = NULL WHERE to_user_id = 0 -> UPDATE c_item_property SET start_visible = NULL WHERE start_visible = '0000-00-00 00:00:00' -> UPDATE c_item_property SET end_visible = NULL WHERE end_visible = '0000-00-00 00:00:00' -> UPDATE c_item_property SET to_user_id = NULL WHERE to_user_id NOT IN ( SELECT id FROM user )

-> UPDATE c_item_property SET insert_user_id = NULL WHERE insert_user_id NOT IN ( SELECT id FROM user )

-> UPDATE c_item_property SET session_id = NULL WHERE session_id NOT IN ( SELECT id FROM session )

-> DELETE FROM c_item_property WHERE c_id = 0 -> DELETE FROM course_rel_user WHERE user_id = 0 -> DELETE FROM c_item_property WHERE c_id NOT IN (SELECT id FROM course) -> ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C18191D79BD3 FOREIGN KEY (c_id) REFERENCES course(id)Migration 20150603181728 failed during Execution. Error An exception occurred while executing 'ALTER TABLE c_item_property ADDCONSTRAINT FK_1D84C18191D79BD3 FOREIGN KEY (c_id) REFERENCES course(id)':

SQLSTATE[23000]: Integrity constraint violation: 1022 Can't write; duplicate key in table '#sql-12b0_4b'

[Doctrine\DBAL\Exception\DriverException] An exception occurred while executing 'ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C18191D79BD3 FOREIGN KEY (c_id)REFERENCES course(id)': SQLSTATE[23000]: Integrity constraint violation: 1022 Can't write; duplicate key in table '#sql-12b0_4b'

[Doctrine\DBAL\Driver\PDOException] SQLSTATE[23000]: Integrity constraint violation: 1022 Can't write; duplicate key in table '#sql-12b0_4b'

[PDOException] SQLSTATE[23000]: Integrity constraint violation: 1022 Can't write; duplicate key in table '#sql-12b0_4b'

migrations:migrate [--write-sql] [--dry-run] [--query-time] [--configuration [CONFIGURATION]] [--db-configuration [DB-CONFIGURATION]] [--][<version>]

Un saludo.

#9 - 18/04/2016 18:26 - Jose Garcia

Hola.

09/11/2018 9/38

Page 10: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Hemos convertido la base de datos de una mezcla de collate con latin1_spanish_ci y utf8_unicode_ci a sólo utf8_unicode_ci para unificar lacodificación de todos los datos.

Posteriormente hemos iniciado la conversión de la base de datos de MySQL del motor MyISAM a InnoDB. El resultado es el que indicamos másabajo.

Lo hemos realizado así ya que al ejecutar php bin/doctrine.php migrations:migrate --configuration=app/config/migrations.yml mostraban la salidavarios ALTER TABLE con ENGINE=INNODB

Alguna de las tablas no se han convertido a InnoDB y permanecen con MyISAM.

Por si os sirviera de ayuda.

ALTER TABLE access_url ENGINE=INNODBALTER TABLE access_url_rel_course ENGINE=INNODBALTER TABLE access_url_rel_session ENGINE=INNODBALTER TABLE access_url_rel_user ENGINE=INNODBALTER TABLE admin ENGINE=INNODBALTER TABLE announcement_rel_group ENGINE=INNODBALTER TABLE block ENGINE=INNODBALTER TABLE c_announcement ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_announcement_attachmentENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_attendance ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_attendance_calendarENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_attendance_resultENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_attendance_sheetENGINE=INNODBALTER TABLE c_attendance_sheet_log ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_blog ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_blog_attachmentENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_blog_commentENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_blog_post ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_blog_rating ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_blog_rel_user ENGINE=INNODBALTER TABLE c_blog_task ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_blog_task_rel_userENGINE=INNODBALTER TABLE c_calendar_event ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_calendar_event_attachmentENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_calendar_event_repeatENGINE=INNODBALTER TABLE c_calendar_event_repeat_not ENGINE=INNODBALTER TABLE c_chat_connected ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_course_descriptionENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_course_settingENGINE=INNODB

09/11/2018 10/38

Page 11: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Incorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_document ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_dropbox_categoryENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_dropbox_feedbackENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_dropbox_file ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_dropbox_personENGINE=INNODBALTER TABLE c_dropbox_post ENGINE=INNODBALTER TABLE c_forum_attachment ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_forum_categoryENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_forum_forum ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_forum_mailcueENGINE=INNODBALTER TABLE c_forum_notification ENGINE=INNODBALTER TABLE c_forum_post ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_forum_thread ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_forum_thread_qualifyENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_forum_thread_qualify_logENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_glossary ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_group_categoryENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_group_info ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_group_rel_tutorENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_group_rel_userENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_item_property ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_link ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_link_category ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_lp ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_lp_item ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_lp_item_view ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_lp_iv_interactionENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_lp_iv_objectiveENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_lp_view ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_metadata ENGINE=INNODBALTER TABLE c_notebook ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_online_connectedENGINE=INNODBALTER TABLE c_online_link ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_permission_groupENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_permission_taskENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_permission_userENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_quiz ENGINE=INNODB

09/11/2018 11/38

Page 12: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Incorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_quiz_answer ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_quiz_questionENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_quiz_question_categoryENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_quiz_question_optionENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_quiz_question_rel_categoryENGINE=INNODBALTER TABLE c_quiz_rel_question ENGINE=INNODBALTER TABLE c_resource ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_role ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_role_group ENGINE=INNODBALTER TABLE c_role_permissions ENGINE=INNODBALTER TABLE c_role_user ENGINE=INNODBALTER TABLE c_student_publication ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_student_publication_assignmentENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_survey ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_survey_answerENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_survey_group ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_survey_invitationENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_survey_questionENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_survey_question_optionENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_thematic ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_thematic_advanceENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_thematic_planENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_tool ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_tool_intro ENGINE=INNODBALTER TABLE c_userinfo_content ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_userinfo_def ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_wiki ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_wiki_conf ENGINE=INNODBALTER TABLE c_wiki_discuss ENGINE=INNODBIncorrect table definition; there can be only one auto column and it must be defined as a keyALTER TABLE c_wiki_mailcue ENGINE=INNODBALTER TABLE career ENGINE=INNODBALTER TABLE chat ENGINE=INNODBALTER TABLE class ENGINE=INNODBALTER TABLE class_user ENGINE=INNODBALTER TABLE course ENGINE=INNODBALTER TABLE course_category ENGINE=INNODBALTER TABLE course_field ENGINE=INNODBALTER TABLE course_field_values ENGINE=INNODBALTER TABLE course_module ENGINE=INNODBALTER TABLE course_rel_class ENGINE=INNODBALTER TABLE course_rel_user ENGINE=INNODBALTER TABLE course_request ENGINE=INNODB

09/11/2018 12/38

Page 13: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

ALTER TABLE course_type ENGINE=INNODBALTER TABLE event_email_template ENGINE=INNODBALTER TABLE event_sent ENGINE=INNODBALTER TABLE grade_components ENGINE=INNODBALTER TABLE grade_model ENGINE=INNODBALTER TABLE gradebook_category ENGINE=INNODBALTER TABLE gradebook_certificate ENGINE=INNODBALTER TABLE gradebook_evaluation ENGINE=INNODBALTER TABLE gradebook_link ENGINE=INNODBALTER TABLE gradebook_linkeval_log ENGINE=INNODBALTER TABLE gradebook_result ENGINE=INNODBALTER TABLE gradebook_result_log ENGINE=INNODBALTER TABLE gradebook_score_display ENGINE=INNODBALTER TABLE group_rel_group ENGINE=INNODBALTER TABLE group_rel_tag ENGINE=INNODBALTER TABLE group_rel_user ENGINE=INNODBALTER TABLE groups ENGINE=INNODBALTER TABLE language ENGINE=INNODBALTER TABLE legal ENGINE=INNODBALTER TABLE message ENGINE=INNODBALTER TABLE message_attachment ENGINE=INNODBALTER TABLE notification ENGINE=INNODBALTER TABLE openid_association ENGINE=INNODBALTER TABLE personal_agenda ENGINE=INNODBALTER TABLE personal_agenda_repeat ENGINE=INNODBALTER TABLE personal_agenda_repeat_not ENGINE=INNODBALTER TABLE php_session ENGINE=INNODBALTER TABLE promotion ENGINE=INNODBALTER TABLE reservation_category ENGINE=INNODBALTER TABLE reservation_category_rights ENGINE=INNODBALTER TABLE reservation_item ENGINE=INNODBALTER TABLE reservation_item_rights ENGINE=INNODBALTER TABLE reservation_main ENGINE=INNODBALTER TABLE reservation_subscription ENGINE=INNODBALTER TABLE search_engine_ref ENGINE=INNODBALTER TABLE session ENGINE=INNODBALTER TABLE session_category ENGINE=INNODBALTER TABLE session_field ENGINE=INNODBALTER TABLE session_field_values ENGINE=INNODBALTER TABLE session_rel_course ENGINE=INNODBALTER TABLE session_rel_course_rel_user ENGINE=INNODBALTER TABLE session_rel_user ENGINE=INNODBALTER TABLE settings_current ENGINE=INNODBALTER TABLE settings_options ENGINE=INNODBALTER TABLE shared_survey ENGINE=INNODBALTER TABLE shared_survey_question ENGINE=INNODBALTER TABLE shared_survey_question_option ENGINE=INNODBALTER TABLE skill ENGINE=INNODBALTER TABLE skill_profile ENGINE=INNODBALTER TABLE skill_rel_gradebook ENGINE=INNODBALTER TABLE skill_rel_profile ENGINE=INNODBALTER TABLE skill_rel_skill ENGINE=INNODBALTER TABLE skill_rel_user ENGINE=INNODB

09/11/2018 13/38

Page 14: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

ALTER TABLE specific_field ENGINE=INNODBALTER TABLE specific_field_values ENGINE=INNODBALTER TABLE sys_announcement ENGINE=INNODBALTER TABLE sys_calendar ENGINE=INNODBALTER TABLE system_template ENGINE=INNODBALTER TABLE tag ENGINE=INNODBALTER TABLE templates ENGINE=INNODBALTER TABLE track_c_browsers ENGINE=INNODBALTER TABLE track_c_countries ENGINE=INNODBALTER TABLE track_c_os ENGINE=INNODBALTER TABLE track_c_providers ENGINE=INNODBALTER TABLE track_c_referers ENGINE=INNODBALTER TABLE track_course_ranking ENGINE=INNODBALTER TABLE track_e_access ENGINE=INNODBALTER TABLE track_e_attempt ENGINE=INNODBALTER TABLE track_e_attempt_coeff ENGINE=INNODBALTER TABLE track_e_attempt_recording ENGINE=INNODBALTER TABLE track_e_course_access ENGINE=INNODBALTER TABLE track_e_default ENGINE=INNODBALTER TABLE track_e_downloads ENGINE=INNODBALTER TABLE track_e_exercices ENGINE=INNODBALTER TABLE track_e_hotpotatoes ENGINE=INNODBALTER TABLE track_e_hotspot ENGINE=INNODBALTER TABLE track_e_item_property ENGINE=INNODBALTER TABLE track_e_lastaccess ENGINE=INNODBALTER TABLE track_e_links ENGINE=INNODBALTER TABLE track_e_login ENGINE=INNODBALTER TABLE track_e_online ENGINE=INNODBALTER TABLE track_e_open ENGINE=INNODBALTER TABLE track_e_uploads ENGINE=INNODBALTER TABLE track_stored_values ENGINE=INNODBALTER TABLE track_stored_values_stack ENGINE=INNODBALTER TABLE user ENGINE=INNODBALTER TABLE user_api_key ENGINE=INNODBALTER TABLE user_course_category ENGINE=INNODBALTER TABLE user_field ENGINE=INNODBALTER TABLE user_field_options ENGINE=INNODBALTER TABLE user_field_values ENGINE=INNODBALTER TABLE user_friend_relation_type ENGINE=INNODBALTER TABLE user_rel_course_vote ENGINE=INNODBALTER TABLE user_rel_event_type ENGINE=INNODBALTER TABLE user_rel_tag ENGINE=INNODBALTER TABLE user_rel_user ENGINE=INNODBALTER TABLE usergroup ENGINE=INNODBALTER TABLE usergroup_rel_course ENGINE=INNODBALTER TABLE usergroup_rel_question ENGINE=INNODBALTER TABLE usergroup_rel_session ENGINE=INNODBALTER TABLE usergroup_rel_user ENGINE=INNODB

Un saludo.

09/11/2018 14/38

Page 15: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

#10 - 26/04/2016 15:02 - Jose Garcia

Hola.

Seguimos realizando pruebas con el último código de Chamilo https://github.com/chamilo/chamilo-lms/tree/1.10.x

Hemos creado una instalación Chamilo 1.9.10.2 de nuevo y copiando los archivos

Realizado previamente lo indicado en

You can also print the differences between your database and what it should be by issuing the following command from the Chamilo basefolder:

php bin/doctrine.php orm:schema:update --dump-sql

y también

PHP Fatal error: Class 'Doctrine/DBAL/Migrations/Tools/Console/Command/DiffCommand' not found in /bin/doctrine.php on line 46

y en otra ocasión

[Doctrine\DBAL\DBALException] Unknown database type enum requested, Doctrine\DBAL\Platforms\MySqlPlatform may not support it.

orm:schema-tool:update [--complete] [--dump-sql] [--force]

Si realizamos la actualización con

php bin/doctrine.php migrations:migrate --configuration=app/config/migrations.yml

nos muestra

Loading configuration from command option: app/config/migrations.yml

Chamilo Migrations

WARNING! You are about to execute a database migration that could result in schema changes and data lost. Are you sure you wish tocontinue? (y/n)yMigrating up to 20151221150100 from 0Migration 110 failed during Pre-Checks. Error Unknown database type enum requested, Doctrine\DBAL\Platforms\MySqlPlatform may notsupport it.

[Doctrine\DBAL\DBALException] Unknown database type enum requested, Doctrine\DBAL\Platforms\MySqlPlatform may not support it.

migrations:migrate [--write-sql] [--dry-run] [--query-time] [--configuration [CONFIGURATION]] [--db-configuration [DB-CONFIGURATION]] [--][<version>]

09/11/2018 15/38

Page 16: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

y también

PHP Fatal error: Class 'Doctrine/DBAL/Migrations/Tools/Console/Command/DiffCommand' not found in /bin/doctrine.php on line 46

Seguimos.

Unas pruebas las realizamos con la versión 1.10.4 descargada de https://github.com/chamilo/chamilo-lms/archive/v1.10.4.zip y otras con la última deGithub.

Un saludo.

#11 - 26/04/2016 15:30 - Yannick Warnier

Hola José, de lo que yo sepa doctrine no funciona en 1.9.10, porque no estaba implementado para nada. Solo a partir de la versión 1.10 (si actualizasa esta versión, puedes ver las diferencias de cosas que no se actualizaron en versiones anteriores, pero solo si estás en 1.10 o superior).

#12 - 26/04/2016 16:03 - Julio Montoya

Recomiendo ejecutar el upgrade usando solamente el entorno web de chamilo, y reportar si existen errores de mysql.

No recomiendo usar el uso de doctrine de esta manera. El comando de doctrine lo usamos solamente en modo de desarrollo.

#13 - 26/04/2016 16:16 - Jose Garcia

Gracias a ambos por las explicaciones ;-)

Realizando la actualización de 1.9 a 1.10 vía Web (.../main/install) el error que nos indica en detalles lo comentaba en #8

ERROR: An exception occurred while executing 'ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C181330D47E9 FOREIGNKEY (to_group_id) REFERENCES c_group_info (iid)':

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails(`basededatos`.`#sql-12b0_49`, CONSTRAINT `FK_1D84C181330D47E9` FOREIGN KEY (`to_group_id`) REFERENCES `c_group_info`(`iid`))

Un saludo.

#14 - 26/04/2016 16:17 - Jose Garcia

Jose Garcia wrote:

Gracias a ambos por las explicaciones ;-)

Realizando la actualización de 1.9 a 1.10 vía Web (.../main/install) el error que nos indica en detalles lo comentaba en en el punto 8.

[...]

Un saludo.

09/11/2018 16/38

Page 17: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

#15 - 27/04/2016 08:37 - Julio Montoya

Jose Garcia wrote:

Gracias a ambos por las explicaciones ;-)

Realizando la actualización de 1.9 a 1.10 vía Web (.../main/install) el error que nos indica en detalles lo comentaba en #8

[...]

Un saludo.

Acabo de agregar una correción:

https://github.com/chamilo/chamilo-lms/commit/4ae0f135e3575bd1405108cb42c45df5ef0808d6

#16 - 29/04/2016 14:59 - Jose Garcia

Gracias.Seguimos revisando.

Por añadir info adicional. Se está revisando bajo PHP 7.0.6 y MySQL 5.7.12 (por ayudar en la compatibilidad con esta versión).

Al mismo tiempo también lo estamos revisando con PHP 5.5.26 y MySQL 5.6.25.

Insertando un fichero .sql de Chamilo 1.9.10.2 para realizar migración a 1.10.4 nos muestra un error si se tiene configurado MySQL 5.7 en modoestricto ya que no permite la inserción de fechas como 0000-00-00 00:00:00 mostrando el mensaje

ERROR 1067 (42000) at line 7: Invalid default value for 'tms'

esa línea se encuentra en la creación del campo tms en la tabla acces_url

CREATE TABLE `access_url` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `url` varchar(255) COLLATE latin1_spanish_ci NOT NULL, `description` text COLLATE latin1_spanish_ci, `active` int(10) unsigned NOT NULL DEFAULT '0', `created_by` int(11) NOT NULL, `tms` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',

también se encuentra en las tablas

course_fieldcourse_field_valuessession_fieldsession_field_valuestrack_e_attemptuser_fielduser_field_options

09/11/2018 17/38

Page 18: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

user_field_values

Info adicional: ----------------https://dev.mysql.com/doc/refman/5.6/en/date-and-time-types.htmlhttp://stackoverflow.com/questions/25349126/how-can-i-set-the-default-value-of-a-field-as-0000-00-00-000000 (How can I set the default value of afield as '0000-00-00 00:00:00'?)http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-strict (Strict SQL Mode)

Esto también le ocurre con la misma versión de MySQL 5.7 al instalar WordPress ya que también tiene ese formato de fecha en tablas.

Un saludo.

#17 - 29/04/2016 19:36 - Yannick Warnier- Target version changed from 1.11.0 to 1.10.6

#18 - 29/04/2016 23:53 - Angel Quiroz

He corregido un problema con extra_fields en las migraciones https://github.com/chamilo/chamilo-lms/commit/f1c94b89ed228cdab048a60cd7bbfe751b4ae1ff

#19 - 30/04/2016 01:33 - Yannick Warnier- Assignee set to Angel Quiroz

I believe José from Nosolored reported an issue with foreign keys with groups... We should check that before closing this task.

#20 - 02/05/2016 09:44 - Julio Montoya

Jose Garcia wrote:

Gracias.Seguimos revisando.

Por añadir info adicional. Se está revisando bajo PHP 7.0.6 y MySQL 5.7.12 (por ayudar en la compatibilidad con esta versión).

Al mismo tiempo también lo estamos revisando con PHP 5.5.26 y MySQL 5.6.25.

Insertando un fichero .sql de Chamilo 1.9.10.2 para realizar migración a 1.10.4 nos muestra un error si se tiene configurado MySQL 5.7 en modoestricto ya que no permite la inserción de fechas como 0000-00-00 00:00:00 mostrando el mensaje

ERROR 1067 (42000) at line 7: Invalid default value for 'tms'

esa línea se encuentra en la creación del campo tms en la tabla acces_url

CREATE TABLE `access_url` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`url` varchar(255) COLLATE latin1_spanish_ci NOT NULL,`description` text COLLATE latin1_spanish_ci,`active` int(10) unsigned NOT NULL DEFAULT '0',

09/11/2018 18/38

Page 19: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

`created_by` int(11) NOT NULL,`tms` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',

también se encuentra en las tablas

course_fieldcourse_field_valuessession_fieldsession_field_valuestrack_e_attemptuser_fielduser_field_optionsuser_field_values

Info adicional: ----------------https://dev.mysql.com/doc/refman/5.6/en/date-and-time-types.htmlhttp://stackoverflow.com/questions/25349126/how-can-i-set-the-default-value-of-a-field-as-0000-00-00-000000 (How can I set the default value of afield as '0000-00-00 00:00:00'?)http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-strict (Strict SQL Mode)

Esto también le ocurre con la misma versión de MySQL 5.7 al instalar WordPress ya que también tiene ese formato de fecha en tablas.

Un saludo.

Estos cambios serán corregidos en 1.11 pues se requiere cambios en la base de datos:

https://github.com/chamilo/chamilo-lms/commit/f2e496009e177ee77a9b5426733a17482c89b42f

#21 - 02/05/2016 16:32 - Jose Garcia

Hola.

Con el último cambio del github de hoy https://github.com/chamilo/chamilo-lms/tree/1.10.x en entorno PHP 7.0.6 y MySQL 5.7.12

he simulado la migración de 1.9.10.2 a 1.10 pero indica ahora

ERROR: An exception occurred while executing 'ALTER TABLE user MODIFY COLUMN user_id int unsigned DEFAULT null':

SQLSTATE[42000]: Syntax error or access violation: 1171 All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, useUNIQUE instead

El error_log de Apache indica:

[Mon May 02 16:20:53 2016] [error] Update-db script: memory_limit set to -1, referer:http://xxx.testchamilo.xx/main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.php[Mon May 02 16:20:53 2016] [error] Update-db script: max_execution_time 0, refer.php

[Mon May 02 16:20:53 2016] [error] Update-db script: max_execution_time 0, referer:http://xxx.testchamilo.xx/main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.php[Mon May 02 16:20:53 2016] [error] Starting migration process from 1.9.10.2 (2016-05-02 16:20:53), referer: http://xxx.testchamilo.xx/main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.php[Mon May 02 16:21:10 2016] [error] There was an error du

09/11/2018 19/38

Page 20: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

.php

[Mon May 02 16:20:53 2016] [error] Starting migration process from 1.9.10.2 (2016-05-02 16:20:53), referer:http://xxx.testchamilo.xx/main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.php[Mon May 02 16:21:10 2016] [error] There was an error during running migrations. Check error.log, referer: http://xxx.testchamilo.xx/main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.php.php

[Mon May 02 16:21:10 2016] [error] There was an error during running migrations. Check error.log, referer:http://xxx.testchamilo.xx/main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.php.php

Un saludo.

#22 - 02/05/2016 17:24 - Jose Garcia

Hola. De nuevo.Aplicando posteriormente lo último de Github muestra en Paso 7 – Ejecución del proceso de actualización

ERROR: An exception occurred while executing 'ALTER TABLE skill_rel_user ADD COLUMN course_id INT NOT NULL DEFAULT 0 AFTERid':

SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'course_id'

Un saludo.

#23 - 02/05/2016 18:07 - Angel Quiroz

He probado migrar desde v1.9.10.2 a 1.10.x (con los últimos cambios de hoy) y he reproducido un error en c_item_property relacionado a to_group_id

Al crear 3 grupos en un curso y luego borrar 1 (borré el segundo). Pero en la base de datos se tenía en c_item_property los id 1 y 3 de c_group_info.La migración al agregar el iid en c_item_property, el valor insertado es 1 y 2. Y luego en Version20150603181728 al agregar el foreign key ac_group_info, no encuentra 3 y lanza el error.

ERROR: An exception occurred while executing 'ALTER TABLE c_item_property ADD CONSTRAINT FK_1D84C181330D47E9 FOREIGNKEY (to_group_id) REFERENCES c_group_info (iid)':

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails(`chamilo19x`.`#sql-49b_167`, CONSTRAINT `FK_1D84C181330D47E9` FOREIGN KEY (`to_group_id`) REFERENCES `c_group_info`(`iid`))

El foreign key hace referencia al iid de c_group_idhttps://github.com/chamilo/chamilo-lms/commit/97c0d24a2cdd6f78da5c9731c406884296d2feaa

#24 - 03/05/2016 09:01 - Julio Montoya

He agregado correciones para "ALTER TABLE user MODIFY COLUMN user_id int unsigned DEFAULT null" y skill_rel_user.

09/11/2018 20/38

Page 21: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

#25 - 03/05/2016 10:48 - Jose Garcia

Hola.Con los últimos cambios muestra

ERROR: An exception occurred while executing 'ALTER TABLE skill_rel_user ADD INDEX idx_select_cs (course_id, session_id)':

SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'idx_select_cs'

Un saludo.

#26 - 03/05/2016 12:46 - Julio Montoya

Jose Garcia wrote:

Hola.Con los últimos cambios muestra

[...]

Un saludo.

Ese indice solo se agregó en 1.10, no debería existir en 1.9.x.Me parece que la BD no es una 1.9.x "pura".

#27 - 03/05/2016 16:29 - Jose Garcia

Hola, Julio. Disculpa, se había quedado a medio actualizar en una ocasión anterior.

Hemos restaurado el .sql original de Chamilo 1.9.10.2 (unos 800 Mb) y repitiendo el proceso con la última versión del Github de 1.10.x muestra

ERROR: An exception occurred while executing 'ALTER TABLE user MODIFY COLUMN user_id int unsigned DEFAULT NULL':

SQLSTATE[42000]: Syntax error or access violation: 1171 All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, useUNIQUE instead

Un saludo.

#28 - 05/05/2016 22:11 - Yannick Warnier- Assignee changed from Angel Quiroz to Jose Garcia

Acabo de mandar otro cambio para revertir el orden de estos queries para que no genere error (el error se debe a que se pone user_id a "posible null"cuando todavía es primary key).

José, cuando puedas lo pruebas y nos avisas del resultado?

09/11/2018 21/38

Page 22: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

#29 - 05/05/2016 22:11 - Yannick Warnier- % Done changed from 0 to 70

#30 - 06/05/2016 08:27 - Jose Garcia

Hola.Con los últimos cambios indica

ERROR: An exception occurred while executing 'ALTER TABLE skill_rel_user ADD INDEX idx_select_cs (course_id, session_id)':

SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'idx_select_cs'

Lo hemos repetido un par de veces volcando de nuevo la base de datos de Chamilo 1.9.

Muchas gracias.

Un saludo.

#31 - 06/05/2016 10:18 - Yannick Warnier

Solo para estar seguro... borras la base final (con drop database) y luego importas el backup de la 1.9 nuevamente, verdad?Porque si solo "aplastas" la base de datos final con el backup, eso te va a dejar todas las tablas extra que ya se crearon...

#32 - 06/05/2016 10:39 - Jose Garcia

Hola.

El proceso que seguimos siempre es el mismo para evitar que existan tablas de la 1.10 antes de iniciar la migración desde la 1.9:

- Eliminamos todas las tablas de la base de datos 1.9.

- Con la base de datos vacía insertamos desde consola el archivo .sql de unos 800 Mb que contiene sentencias drop table y create table

- Realizamos de nuevo el proceso desde navegador web .../main/install/ y muestra

ERROR: An exception occurred while executing 'ALTER TABLE skill_rel_user ADD INDEX idx_select_cs (course_id, session_id)':

SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'idx_select_cs'

Un saludo.

#33 - 06/05/2016 10:50 - Yannick Warnier

Te lo pregunto porque me da la sensación de que tu dump de 1.9 no está limpio de cosas de 1.10. Por ejemplo, el índice idx_select_cs no seencuentra de ningún lado dentro del código de la 1.9, y solo se encuentra una vez en el proceso de migración de 1.9 a 1.10. Por lo tanto, es imposible (en teoría) que te diga (como lo hace) que no se puede crear el índice porque ya existe.

He verificado los índices de la tabla skill_rel_user en una instalación de 1.9 que tengo aquí, y no hay ninguna señal de idx_select_cs.

09/11/2018 22/38

Page 23: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Por eso insisto: el dump de 1.9 tiene que ser limpio de cosas de la 1.10, y si se hace el "borrado" a través de un script, entonces quizás le falte alscript borrar tablas de las cuales no sabe nada. Por eso es recomendable hacer un "DROP DATABASE chamilo19" en vez de borrar las tablas unapor una. Aquí no se trata de una tabla sino de un índice (no necesariamente se borra en el proceso).

#34 - 06/05/2016 12:12 - Jose Garcia

Hola, Yannick. Mis disculpas lo primero ;-)

Ya hemos detectado donde se localizaba el error anterior del índice idx_select_cs era debido al .sql que lo contenía. Efectivamente tenía en la partefinal un añadido no presente en la versión 1.9.

Con la copia correcta ahora del sql de la base de datos 1.9, eliminando todos los datos, con el código actualizado de la 1.10 del github yposteriormente volcando el fichero original .sql exportado (ahora pesa casi 1 Gb) hemos iniciado la migración en /main/install y nos indica

ERROR: An exception occurred while executing 'ALTER TABLE user DROP PRIMARY KEY':

SQLSTATE[42000]: Syntax error or access violation: 1075 Incorrect table definition; there can be only one auto column and it must be definedas a key

Un saludo y gracias de nuevo.

#35 - 07/05/2016 01:04 - Yannick Warnier- Assignee changed from Jose Garcia to Yannick Warnier

Jajaja, esta tarea nunca termina :)Gracias por la persistencia. Este error proviene de que no se puede hacer un "drop" del primary key si todavía el campo "user_id" está configurado enAUTO_INCREMENT. Vamos a ver lo que se puede hacer.

#36 - 09/05/2016 17:06 - Yannick Warnier- Status changed from Needs testing to Assigned- Assignee changed from Yannick Warnier to Angel Quiroz

#37 - 11/05/2016 22:12 - Angel Quiroz- Assignee changed from Angel Quiroz to Jose Garcia

Al tratar de migrar al 1.10.x desde una instalación de 1.9.10.4 con sólo los usuarios de prueba registrados, se obtiene el error del comentario #34Hice un revert de 70c7ef3. Y se soluciona el error durante la migración.

Podrían verificar ahora la migración?

#38 - 12/05/2016 09:51 - Jose Garcia

Gracias, Ángel:

He repetido el proceso 3 veces con el último código de github (rama 1.10.x) y en ambas ocasiones se ha eliminado el contenido de la base de datos yrestaurado el .sql de Chamilo 1.9.

09/11/2018 23/38

Page 24: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

La salida de errores ahora muestra:

ERROR: An exception occurred while executing 'ALTER TABLE user MODIFY COLUMN user_id int unsigned DEFAULT NULL':SQLSTATE42000: Syntax error or access violation: 1171 All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUEinstead

Un saludo.

#39 - 13/05/2016 21:33 - Angel Quiroz

Hola, JoséHe probado migrar desde 1.9.x hasta 1.10.x y no puedo reproducir el error. La migración se realiza correctamenteEstoy porbando con 5.5.5-10.0.23-MariaDB-0ubuntu0.15.10.1 en modo STRICT_TRANS_TABLES, luego STRICT_ALL_TABLES y luego ambos.

#40 - 16/05/2016 16:59 - Jose Garcia

Hola, Angel.

Nuestro entorno es Debian 8, con PHP 7.0.6 y MySQL 5.7.12.

Nosotros podemos modificar las variables del fichero my.cnf en nuestros servidores pero no es lo habitual en entornos hosting disponer de acceso aeste fichero o solicitar cambios en él.

Los errores de la migración apuntan a sentencias SQL.

El error

ERROR: An exception occurred while executing 'ALTER TABLE user MODIFY COLUMN user_id int unsigned DEFAULT NULL':SQLSTATE42000: Syntax error or access violation: 1171 All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, useUNIQUE instead

se debe al código de línea 126-128 del archivo /app/Migrations/Schema/V110/Version110.php

$this->addSql("ALTER TABLE user MODIFY COLUMN user_id int unsigned DEFAULT NULL"); $this->addSql("ALTER TABLE user DROP PRIMARY KEY"); $this->addSql("ALTER TABLE user ADD COLUMN id INT DEFAULT NULL");

Si se cambia a

$this->addSql("ALTER TABLE user MODIFY COLUMN user_id int unsigned NOT NULL"); $this->addSql("ALTER TABLE user DROP PRIMARY KEY"); $this->addSql("ALTER TABLE user MODIFY COLUMN user_id int unsigned DEFAULT NULL"); $this->addSql("ALTER TABLE user ADD COLUMN id INT DEFAULT NULL");

ya no muestra el error pero se visualiza otro posteriormente

ERROR: An exception occurred while executing 'ALTER TABLE c_announcement MODIFY COLUMN id INT NULL':SQLSTATE[42000]: Syntax error or access violation: 1171 All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use

09/11/2018 24/38

Page 25: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

UNIQUE instead

ya que en el mismo archivo /app/Migrations/Schema/V110/Version110.php hay numerosas instrucciones SQL que provocan mensajes de error porqueintentan poner como NULL una clave principal. También salen otros mensajes porque se intenta quitar una clave principal que es autonumérica.

Estamos cambiando el archivo indicado y si progresamos lo enviaremos como commit para su revisión.

Muchas gracias.

Un saludo.

#41 - 16/05/2016 19:08 - Jose Garcia- File Version110.php added

Hola.

Adjunto el archivo* /app/Migrations/Schema/V110/Version110.php* con el que estamos realizando la migración con las correcciones que hemosrealizado en él.

Enviaremos un commit con los cambios ya que ahora si parece que se está realizando la migración de 1.9 a 1.10 y no muestra ningún error de SQL.

En el paso Paso 7 – Ejecución del proceso de actualizaciónPor favor espere. Esto podría tomar un tiempo...

quizás habría que poner algún mensaje adicional indicando lo que está realizando o un barra de progreso aunque sea orientativa para conocer pordonde va realizando los cambios ;-)

La migración se está ejecutando aún ya que la consulta del archivo /app/Migrations/Schema/V110/Version20151221150100.php con el update de

UPDATE c_quiz_answer a INNER JOIN c_quiz_answer b ON a.question_id = b.question_id INNER JOIN c_quiz_question q ON b.question_id = q.id SET a.correct = b.id_auto WHERE a.correct = b.id AND q.c_id = a.c_id AND q.type IN (" . MATCHING . ", " . DRAGGABLE . ", " . MATCHING_DRAGGABLE . ")

está tardando bastante (lleva casi 80 minutos) dado que la tabla c_quiz_answer tiene más de 250.000 registros.

Ya os comentamos al respecto.

Muchas gracias.

Un saludo.

09/11/2018 25/38

Page 26: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

#42 - 16/05/2016 22:45 - Angel Quiroz

Hola JoséEstuve cambiando los id autoincrement de las migraciones a algo parecido a lo que has hecho https://github.com/AngelFQC/chamilo-lms/commit/d1c23556e5f17536df00d5f6108f13e7ae566d69 y lo tengo en mi repositorio personalPero tú código funciona bien, podrías envíarlo en un pull request para integrarlo en chamilo

#43 - 17/05/2016 10:04 - Jose Garcia

Gracias, Angel ;-)

Hemos publicado el commit en https://github.com/nosolored/chamilo-lms/commit/95b9d65c7c95ba26197119a7e4e4dace09b4c952

Finalmente ayer después de 5 horas y media ejecutando la última consulta paramos la migración en

UPDATE c_quiz_answer a INNER JOIN c_quiz_answer b ON a.question_id = b.question_id INNER JOIN c_quiz_question q ON b.question_id = q.id SET a.correct = b.id_auto WHERE a.correct = b.id AND q.c_id = a.c_id AND q.type IN (4, 18, 19) ':

es la consulta

$this->addSql(" UPDATE c_quiz_answer a INNER JOIN c_quiz_answer b ON a.question_id = b.question_id INNER JOIN c_quiz_question q ON b.question_id = q.id SET a.correct = b.id_auto WHERE a.correct = b.id AND q.c_id = a.c_id AND q.type IN (" . MATCHING . ", " . DRAGGABLE . ", " . MATCHING_DRAGGABLE . ") "); }

¿Se podría optimizar de alguna manera la consulta final de actualización de "Fix c_quiz_answer's correct field for id_auto" del archivo.../app/Migrations/Schema/V110/Version20151221150100.php que comienza en la línea 32 para acelerarla?

¿Es normal que tarde tanto tiempo en realizarla? ¿Os ha ocurrido a vosotros en algún caso similar?

09/11/2018 26/38

Page 27: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Como os comentaba la tabla c_quiz_answer tiene más de 250.000 registros.

Muchas gracias.

Un saludo.

#44 - 17/05/2016 10:58 - José Angel Ruiz (Nosolored)

Hola, Aquí el pull request con los cambios en el fichero /app/Migrations/Schema/V110/Version110.phphttps://github.com/chamilo/chamilo-lms/pull/1157

#45 - 17/05/2016 19:08 - Angel Quiroz- % Done changed from 70 to 80

Hola JoséAcabo de probar otra vez la migración y no tengo errores en los error_logs ni en el instalador. Por lo que hice merge a tu PR.Respecto a optimizar la consulta, no encuentro otra forma de hacer la migración en la tabla c_quiz_answer. Yannick me comentó que algunasmigraciones le ha tomado mucho más tiempo.

#46 - 17/05/2016 19:43 - Jose Garcia

Gracias, Ángel:

Prepararemos la migración de la otra base de datos de casi 1 Gb y lo dejaremos ejecutándose la migración.

Para ganar tiempo en el mismo entorno PHP 7 y MySQL 5.7 he repetido el proceso con una base de datos Chamilo 1.9 más pequeña (8 Mb) con elúltimo código de Github (correcciones de hace unos minutos) y nos muestra al final un error en la tabla session (contiene 12 sesiones):

Hemos repetido el proceso 3 veces, eliminando el contenido de la base de datos y volcando el fichero .sql (comprobando previamente que no tuvieraningún índice salvo el drop y create table habituales).

Prueba 1:

ERROR: An exception occurred while executing 'ALTER TABLE session ADD CONSTRAINT FK_D044D5D4D1DC2CFC FOREIGN KEY(id_coach) REFERENCES user (id)':

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails(`dbname`.`#sql-795_6c236`, CONSTRAINT `FK_D044D5D4D1DC2CFC` FOREIGN KEY (`id_coach`) REFERENCES `user` (`id`))

Prueba 2:

ERROR: An exception occurred while executing 'ALTER TABLE session ADD CONSTRAINT FK_D044D5D4D1DC2CFC FOREIGN KEY(id_coach) REFERENCES user (id)':

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails(`dbname`.`#sql-795_6c38c`, CONSTRAINT `FK_D044D5D4D1DC2CFC` FOREIGN KEY (`id_coach`) REFERENCES `user` (`id`))

09/11/2018 27/38

Page 28: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Prueba 3:

ERROR: An exception occurred while executing 'ALTER TABLE session ADD CONSTRAINT FK_D044D5D4D1DC2CFC FOREIGN KEY(id_coach) REFERENCES user (id)':

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails(`dbname`.`#sql-795_6c3f6`, CONSTRAINT `FK_D044D5D4D1DC2CFC` FOREIGN KEY (`id_coach`) REFERENCES `user` (`id`))

El error log de Apache muestra

[Tue May 17 19:33:12 2016] [error] [client xx.xx.xxx.xxx] Starting migration process from 1.9.10.2 (2016-05-17 19:33:12), referer:/main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.php

[Tue May 17 19:33:22 2016] [error] [client xx.xx.xxx.xxx] There was an error during running migrations. Check error.log, referer:/main/install/index.php?running=1&installType=update&updateFromConfigFile=main%2Finc%2Fconf%2Fconfiguration.php

Un saludo.

#47 - 17/05/2016 20:19 - Jose Garcia

Hola de nuevo.

Con otra base de datos más pequeña de Chamilo 1.9 (1 Mb) he realizado la migración (entorno PHP 7 y MySQL 5.7) y nos muestra al final elmensaje:

ERROR: Unknown database type enum requested, Doctrine\DBAL\Platforms\MySQL57Platform may not support it.

Mientras lo revisáis vamos a realizar también pruebas con estas bases de datos en otro servidor Debian con PHP 5.6.15 MySQL 5.6.27 y oscomentamos.

Un saludo.

#48 - 18/05/2016 00:35 - Angel Quiroz

Hola José

El problema de la tabla session quizás se deba a que se borró un usuario que fue coach de la sesión y ahora no existe. Lo cual también es raro, yaque desde 1.9.x, si un usuario que es coach de session (id_coach) se elimina, se establece el actual admin como nuevo coach.No he podido reproducir el problema

El segundo error tampoco puedo reproducirlo, ya que no se usan tipos enum en las tablas de chamilo en 1.10.x. En 1.9.x sí. Pero durante el procesode migración se cambian a varchar. https://github.com/chamilo/chamilo-lms/blob/1.10.x/main/install/index.php#L719

#49 - 19/05/2016 13:32 - Jose Garcia

09/11/2018 28/38

Page 29: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Gracias de nuevo.

Se nos resiste con las bases de datos que hemos reportado con anterioridad ;-)

Hemos progresado con la migración pero con otras bases de datos Chamilo 1.9 distintas en las que si ha finalizado la migración a 1.10 y se mueve/courses a /app/courses (mismo entorno PHP 7 y MySQL 5.7).

También estamos realizando pruebas en máquinas virtuales con Ubuntu, con git, por ftp, etc.

Por cierto, en https://github.com/chamilo/chamilo-lms/tree/1.10.x en Upgrade from 1.9.x indica

git fetch --allgit checkout origin 1.10.x

el segundo nos da error.Si funciona ejecutando git checkout origin/1.10.x y luego con git pull origin 1.10.x si se realiza la migración de 1.9 a 1.10 con git

No sé si es que realizamos alguna cosa mal nosotros. Por reportar ;-)

Cuestiones:

1. ¿Se podría insertar un control para que no pare el proceso de actualización y lo asigne al admin como nuevo coach?

El problema de la tabla session quizás se deba a que se borró un usuario que fue coach de la sesión y ahora no existe. Lo cual también esraro, ya que desde 1.9.x, si un usuario que es coach de session (id_coach) se elimina, se establece el actual admin como nuevo coach.No he podido reproducir el problema

Los usuarios siempre se han borrado desde la Administración de Chamilo nunca directamente desde la base de datos.

Esa instalación se ha ido actualizado desde las iniciales Chamilo 1.8, 1.9, etc. conforme se han ido liberando cada una de ellas se aplicaban losparches y los saltos de rama correspondientes sin cambios en la base de datos salvo los que realiza cada rama nueva.

Es probable que existan otras instalaciones con este mismo problema.

2. Al final de la migración en el apartado Detalles muestra un texto con todos los cambios realizados en las tablas de Chamilo. Este resumen es muyútil y quizás debería mostrarse durante el proceso de actualización en /main/install la ejecución de cada fichero php de app/Migrations/Schema/V110por lo menos que indique el nombre del que se está ejecutando para en caso de fallo saber exactamente en que fichero php ha dado el error.

De otra forma hay que localizar la consulta revisando los ficheros php para intentar localizar el punto donde se produce el error de la migración.

La opción de detalles podría ir visualizando la actualización y conforme la va realizando mostrar el fichero que ejecuta. Aunque para esto se tendríaque añadir código adicional para que sin recargar la página se pudiera ir viendo el resultado

VERSION: 110----------------------------------------------...

VERSION: 20150423093100-------------------------------------------------

09/11/2018 29/38

Page 30: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

VERSION: 20151221150100----------------------------------------------

---DONE!

Seguimos revisando los motivos por los que no realiza la migración las otras bases de datos Chamilo 1.9 que hemos comentado.

Un saludo.

#50 - 19/05/2016 16:25 - Jose Garcia

Hola.

Como continuación de lo anterior. Hemos realizado una modificación para corregir los id_coach que ya no existen en la tabla user y que no aparezcael error

ERROR: An exception occurred while executing 'ALTER TABLE session ADD CONSTRAINT FK_D044D5D4D1DC2CFC FOREIGN KEY(id_coach) REFERENCES user (id)':SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails(`dbname`.`#sql-795_6c236`, CONSTRAINT `FK_D044D5D4D1DC2CFC` FOREIGN KEY (`id_coach`) REFERENCES `user` (`id`))

en el fichero /app/Migrations/Schema/V110/Version110.php en la línea 26 si se añade

$this->addSql("UPDATE session SET session.id_coach = 1 WHERE id_coach NOT IN ( SELECT user_id FROM user)");

o

$this->addSql("UPDATE session SET session.id_coach = 1 WHERE NOT EXISTS ( SELECT * FROM user WHERE session.id_coach =user.user_id )");

De esta forma se realiza la migración correctamente.

Enviaremos un commit a Github.

Seguimos con las pruebas en el resto de instalaciones.

Un saludo.

#51 - 19/05/2016 19:25 - Jose Garcia

Hola de nuevo.

Con la base de datos Chamilo 1.9 que nos indica el error de enum he repetido el proceso de migración a 1.10 de la manera habitual con el mismoresultado.

ERROR: Unknown database type enum requested, Doctrine\DBAL\Platforms\MySQL57Platform may not support it.

09/11/2018 30/38

Page 31: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

He seguido lo comentado y he ejecutado antes de la actualización las consultas SQL en Chamilo 1.9:

El segundo error tampoco puedo reproducirlo, ya que no se usan tipos enum en las tablas de chamilo en 1.10.x. En 1.9.x sí. Pero durante elproceso de migración se cambian a varchar. https://github.com/chamilo/chamilo-lms/blob/1.10.x/main/install/index.php#L719

ALTER TABLE course_category MODIFY COLUMN auth_course_child VARCHAR(40) DEFAULT 'TRUE'ALTER TABLE course_category MODIFY COLUMN auth_cat_child VARCHAR(40) DEFAULT 'TRUE'ALTER TABLE c_quiz_answer MODIFY COLUMN hotspot_type varchar(40) default NULLALTER TABLE c_tool MODIFY COLUMN target varchar(20) NOT NULL default '_self'ALTER TABLE c_link MODIFY COLUMN on_homepage char(10) NOT NULL default '0'ALTER TABLE c_blog_rating MODIFY COLUMN rating_type char(40) NOT NULL default 'post'ALTER TABLE c_survey MODIFY COLUMN anonymous char(10) NOT NULL default '0'ALTER TABLE c_document MODIFY COLUMN filetype char(10) NOT NULL default 'file'ALTER TABLE c_student_publication MODIFY COLUMN filetype char(10) NOT NULL default 'file'

en /main/install en detalles sigue mostrando el mismo mensaje anterior:

El entorno es PHP 7 y MySQL 5.7. ¿Se tendría que definir el tipo enum en Doctrine para esta versión de MySQL?

Buscando he localizado esta info a través del artículo http://wildlyinaccurate.com/doctrine-2-resolving-unknown-database-type-enum-requested/

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/cookbook/mysql-enums.htmlhttp://symfony.com/doc/2.0/cookbook/doctrine/dbal.html#registering-custom-mapping-types-in-the-schematool

por si sirve de ayuda.

Muchas gracias.

Un saludo.

#52 - 20/05/2016 08:27 - José Angel Ruiz (Nosolored)

Pull-request con la modificación en la tabla de "session" en la cual los valores de "id_coach" que no se encuentren en la tabla "user" seránmodificados al valor "1".

https://github.com/chamilo/chamilo-lms/pull/1169

#53 - 20/05/2016 15:23 - Jose Garcia

Hola.

Hemos iniciado de nuevo la migración de la base de datos de casi 1 Gb de Chamilo 1.9. Ahora mismo está ejecutando la consulta final del archivo.../app/Migrations/Schema/V110/Version20151221150100.php

Query 15840 Sending data --- UPDATE c_quiz_answer a INNER JOIN c_quiz_answer b ON a.question_id = b.quest

09/11/2018 31/38

Page 32: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Esta última consulta que realiza deja bloqueada la migración durante horas mientras la ejecuta.

¿Qué hace exactamente esa consulta? Une una tabla consigo misma (esto implica una consulta lenta) y modifica el campo correct con un id cuandose supone que en la versión 1.10 este campo solo toma valores 1 o 0, no es así?

Lo mismo me equivoco así que disculpas ;-)

$this->addSql(" UPDATE c_quiz_answer a INNER JOIN c_quiz_answer b ON a.question_id = b.question_id INNER JOIN c_quiz_question q ON b.question_id = q.id SET a.correct = b.id_auto WHERE a.correct = b.id AND q.c_id = a.c_id AND q.type IN (" . MATCHING . ", " . DRAGGABLE . ", " . MATCHING_DRAGGABLE . ") ");

En el servidor donde lo estamos probando tiene discos ssd, 32 Gb RAM, procesadores, etc. y no tiene nada más que la instalación de prueba.Tieneuna carga mínima el sistema.

No sé si es tema de añadir alguna optimización a MySQL, caché, u optimizar tablas antes de realizar la migración, etc.

Si es tema de esperar dejaremos la consulta el tiempo necesario y os comentamos cuando finalice ;-)

Muchas gracias por todo.

Un saludo.

#54 - 24/05/2016 00:31 - Angel Quiroz

Hola JoséSe montó un servidor en Debian 8 con PHP 7.0.6 + MySQL 5.7.12 Community ServerProbé la migración de la base de datos bd2.sql (de 7.1M) y bd3.sql (de 1.2M) a la versión 1.10.x desde github y la migración no arrojó erroresLo que encontré fueron tablas de curso crs_ que me generaron un error al generar un backup local. Estas tablas ya no se utilizan en chamilo19x yversiones posteriores.Los procesos de migraciones se realizaron bien y no duró más de 1 hora en completarse casa migración.

Quizá podamos tomar esta tarea como un caso particular y cerrar este ticket

#55 - 24/05/2016 12:52 - Jose Garcia

Hola Ángel:

En primer lugar os doy las gracias por vuestro tiempo en este tema, que sé le estáis dedicando mucho al igual que nosotros.

Tras los últimos cambios que se han hecho, probamos la migración 1.9 a 1.10 correctamente con todas las bases de datos excepto con la que pesacasi 1 Gb que después de 15 horas de ejecución paramos el proceso ya que no avanzaba la consulta de actualización.

09/11/2018 32/38

Page 33: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Creemos que se une el tamaño de la base de datos y el de las tablas indicadas con la consulta final que provoca lentitud al realizar la migración:

Es esta consulta del archivo app/Migrations/Schema/V110/Version20151221150100.php (líneas 32 a 42) donde no avanza la migración:

UPDATE c_quiz_answer a INNER JOIN c_quiz_answer b ON a.question_id = b.question_id INNER JOIN c_quiz_question q ON b.question_id = q.id SET a.correct = b.id_auto WHERE a.correct = b.id AND q.c_id = a.c_id AND q.type IN (" . MATCHING . ", " . DRAGGABLE . ", " . MATCHING_DRAGGABLE . ")

No entiendo bien el sentido de esta consulta, pero lo que puedo ver es que el campo question_id en la tabla c_quiz_answer no tiene definido uníndice. Esto provoca que la consulta sea extremadamente lenta en una base de datos como esta, que tiene muchos ejercicios.

¿Se podría añadir justo antes un índice a la tabla como

ALTER TABLE c_quiz_answer ADD INDEX (question_id);

para comprobar si acelera el proceso de migración?

Configuración MySQL/PHPMyAdmin--------------------------------------------------------El phpmyadmin del servidor que hemos utilizado para las pruebas proporciona información y devuelve algunos consejos, como añadir índices (se estáusando en exclusiva para realizar migraciones Chamilo):

- Created tmp disk tables 410.6 k El número de tablas temporales en el disco que fueron creados automáticamente por el servidor mientras ejecuta lassentencias. Si las tablas Created_tmp_disk_tables es grande, puede incrementar el valor de tmp_table_size para hacer que las tablas temporales sebasen en memoria en lugar de basarse en disco.

- Handler read rnd next 95.9 G El número de solicitudes hechas para leer la siguiente fila en el archivo de datos. Este es alto si usted está haciendomuchos escaneos de tablas. Generalmente, esto sugiere que sus tablas no están indizadas apropiadamente o que sus consultas no están escritaspara tomar ventaja de los índices que tiene.

- Opened tables 15.7 M El número de tablas que han sido abiertas. Si el número de tablas abiertas es grande, su valor del cache de tablaprobablemente es muy pequeño (<- Aumentaremos el valor de la caché de MySQL).

- Select full join 212.8 k El número de vínculos (joins) que no usan índices. Si este valor no es 0, deberá revisar los índices de sus tablascuidadosamente.

- Select range check 19 El número de vínculos (joins) sin claves que revisan el uso de claves luego de cada fila. (Si no es 0, deberá revisar los índicesde sus tablas cuidadosamente.)

Hemos descartado que el problema sea el entorno (PHP 7 y MySQL 5.7) ya que también se han realizado pruebas en servidores con PHP 5.6 yMYSQL 5.6, en máquinas virtuales con Ubuntu, en instalaciones Windows, etc. obteniendo el mismo resultado en todas las ocasiones.

Por nuestra parte vamos a hacer pruebas agregando este índice y ver si por fin finaliza la migración. Os contaremos el resultado.

09/11/2018 33/38

Page 34: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Un saludo.

#56 - 24/05/2016 19:30 - Jose Garcia

Hola.

¡¡¡Por fin se pudo migrar la base de datos de casi 1 Gb de Chamilo 1.9 a 1.10!!!

Si se añade la consulta SQL en app/Migrations/Schema/V110/Version20151221150100.php

ALTER TABLE c_quiz_answer ADD INDEX (question_id);

se realiza el proceso en 7 minutos ;-)

Nuestra sugerencia sería insertar en el archivo app/Migrations/Schema/V110/Version20151221150100.php el índice para c_quiz_answer justo antesde la línea 19 de

$this->addSql("ALTER TABLE c_quiz_answer ADD INDEX (question_id)");

quedando por tanto de la siguiente forma

public function up(Schema $schema) { $this->addSql(" ALTER TABLE c_quiz_answer ADD INDEX (question_id)");

$this->addSql(" UPDATE track_e_attempt a INNER JOIN c_quiz_answer qa ON a.question_id = qa.question_id INNER JOIN c_quiz_question q ON qa.question_id = q.id SET a.answer = qa.id_auto WHERE a.answer = qa.id AND q.c_id = a.c_id AND q.type IN (" . MATCHING . ", " . DRAGGABLE . ", " . MATCHING_DRAGGABLE . ") ");

$this->addSql(" UPDATE c_quiz_answer a INNER JOIN c_quiz_answer b ON a.question_id = b.question_id INNER JOIN c_quiz_question q ON b.question_id = q.id SET a.correct = b.id_auto WHERE a.correct = b.id AND q.c_id = a.c_id AND

09/11/2018 34/38

Page 35: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

q.type IN (" . MATCHING . ", " . DRAGGABLE . ", " . MATCHING_DRAGGABLE . ") "); }

Nosotros hemos probado directamente insertando el índice en la base de datos y hemos realizado un par de pruebas con demos de 1.9 y simulado elproceso en el servidor inicial (PHP 7 y MySQL 5.7) y en otro con PHP 5.6 y MySQL 5.6.

Enviaremos un commit para que lo reviséis.

Muchas gracias por todo.

Un saludo.

#57 - 25/05/2016 10:25 - José Angel Ruiz (Nosolored)

https://github.com/chamilo/chamilo-lms/pull/1174

#58 - 31/05/2016 10:20 - Jose Garcia

Hola.

El commit con el índice lo enviamos https://github.com/chamilo/chamilo-lms/pull/1198/commits/dceb5164e1adf284b0cb075c71ed1baa5497f10f

Ya nos comentáis.

Saludos.

#59 - 12/07/2016 16:53 - Jose Garcia

Buenas.

En otra migración distinta Chamilo 1.9 a 1.10 nos ocurre lo que indican en #8278 (https://support.chamilo.org/issues/8278)

ERROR: An exception occurred while executing 'ALTER TABLE course_rel_user ADD CONSTRAINT FK_92CFD9FEA76ED395 FOREIGNKEY (user_id) REFERENCES user (id)':

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails(`demodatabase`.`#sql-12d3_11d0301`, CONSTRAINT `FK_92CFD9FEA76ED395` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`))

Las correcciones de https://support.chamilo.org/projects/chamilo-18/repository/revisions/aa640cd3a387e545055af911a0f0a9a37bd86c93 parece queno se ha aplicado en github

Nos podéis confirmar.

Muchas gracias.

Un saludo.

09/11/2018 35/38

Page 36: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

#60 - 12/07/2016 17:32 - Jose Garcia

Hola.

Existen usuarios que estaban en la tabla course_rel_user pero el id no aparece en la tabla userImagino que porque en algún momento fueron eliminados de la tabla user sin borrarlos de la tabla course_rel_user

Una consulta de este tipo los localiza

SELECT * FROM `course_rel_user` AS RLEFT JOIN user AS U ON U.id = R.user_idWHERE U.id IS NULL

Habría que insertar un check que lo comprobara y eliminara estos usuarios, algo como

delete course_rel_user.* FROM `course_rel_user` LEFT JOIN user ON user.id = course_rel_user.user_id WHERE user.id IS NULL

Revisando las correcciones de https://support.chamilo.org/projects/chamilo-18/repository/revisions/aa640cd3a387e545055af911a0f0a9a37bd86c93 yase realizaron consultas al respecto.

https://support.chamilo.org/projects/chamilo-18/repository/revisions/aa640cd3a387e545055af911a0f0a9a37bd86c93/diff/app/Migrations/Schema/V11/Version110.phphttps://support.chamilo.org/projects/chamilo-18/repository/revisions/aa640cd3a387e545055af911a0f0a9a37bd86c93/diff/app/Migrations/Schema/V11/Version20150603181728.phphttps://support.chamilo.org/projects/chamilo-18/repository/revisions/aa640cd3a387e545055af911a0f0a9a37bd86c93/diff/app/Migrations/Schema/V11/Version20151101082200.phphttps://support.chamilo.org/projects/chamilo-18/repository/revisions/aa640cd3a387e545055af911a0f0a9a37bd86c93/diff/app/Migrations/Schema/V11/Version20151101082300.php

¿Estas correcciones se aplicarán en Github? ¿Creamos un commit y lo publicamos para que lo reviséis?

Muchas gracias.

Un saludo.

#61 - 13/07/2016 08:54 - Jose Garcia

Hola.

Las correcciones parece que están aplicadas a la rama 1.11 pero no en la 1.10. ¿Se van a añadir a ésta?

Muchas gracias.

#62 - 13/07/2016 09:07 - Julio Montoya

Jose Garcia (Nosolored) wrote:

Hola.

09/11/2018 36/38

Page 37: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

Las correcciones parece que están aplicadas a la rama 1.11 pero no en la 1.10. ¿Se van a añadir a ésta?

Muchas gracias.

Si hay un problema de envío de la correción. Ahora lo veo.

#63 - 13/07/2016 09:13 - Julio Montoya

Agregado a 1.10.x

#64 - 13/07/2016 09:31 - Jose Garcia

Muchas gracias, Julio ;-)

Un saludo.

#65 - 13/07/2016 14:18 - Jose Garcia

Hola.

Nos muestra otro error en una migración

ERROR: An exception occurred while executing 'DELETE course_rel_user WHERE course_code NOT IN (SELECT code FROM course)':

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to yourMySQL server version for the right syntax to use near 'WHERE course_code NOT IN (SELECT code FROM course)' at line 1

en la línea 158 de app/Migrations/Schema/V110/Version110.php

$this->addSql("DELETE course_rel_user WHERE course_code NOT IN (SELECT code FROM course)");por$this->addSql("DELETE FROM course_rel_user WHERE course_code NOT IN (SELECT code FROM course)");

Haremos un commit.

Un saludo.

#66 - 13/07/2016 14:46 - Jose Garcia

Hola de nuevo:

ERROR: An exception occurred while executing 'DELETE access_url_rel_course WHERE course_code NOT IN (SELECT code FROM course)':

SQLSTATE42000: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQLserver version for the right syntax to use near 'WHERE course_code NOT IN (SELECT code FROM course)' at line 1

09/11/2018 37/38

Page 38: Chamilo LMS - Support #8200 · Hemos simulado de nuevo el proceso de migración con el último código de Github de Chamilo 1.10.x a través de 31/10/2018 5/38 con la base de datos

app/Migrations/Schema/V110/Version110.php en la línea 520

$this->addSql("DELETE access_url_rel_course WHERE course_code NOT IN (SELECT code FROM course)");por$this->addSql("DELETE FROM access_url_rel_course WHERE course_code NOT IN (SELECT code FROM course)");

Un saludo.

#67 - 13/07/2016 15:17 - Yannick Warnier

Jose Garcia (Nosolored) wrote:

Hola de nuevo:

ERROR: An exception occurred while executing 'DELETE access_url_rel_course WHERE course_code NOT IN (SELECT code FROM course)':

SQLSTATE42000: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQLserver version for the right syntax to use near 'WHERE course_code NOT IN (SELECT code FROM course)' at line 1

app/Migrations/Schema/V110/Version110.php en la línea 520

$this->addSql("DELETE access_url_rel_course WHERE course_code NOT IN (SELECT code FROM course)");por$this->addSql("DELETE FROM access_url_rel_course WHERE course_code NOT IN (SELECT code FROM course)");

Esta última ya está en una de las tareas para la 1.11.

Un saludo.

#68 - 14/07/2016 10:31 - Jose Garcia

Gracias.

FilesVersion110.php 39.9 KB 16/05/2016 Jose Garcia

09/11/2018 38/38


Recommended