Explorar el Código

Adding autoincrement id in table "c_quiz_question_rel_category" to supporting several categories per question see #5715

Julio Montoya hace 12 años
padre
commit
79bad1585c

+ 1 - 1
main/install/db_main.sql

@@ -3111,4 +3111,4 @@ CREATE TABLE migration_transaction_status (
 INSERT INTO migration_transaction_status VALUES (1, 'To be executed'), (2, 'Executed successfully'), (3, 'Execution deprecated'), (4, 'Execution failed');
 
 -- Do not move this 
-UPDATE settings_current SET selected_value = '1.10.0.20283' WHERE variable = 'chamilo_database_version';
+UPDATE settings_current SET selected_value = '1.10.0.20306' WHERE variable = 'chamilo_database_version';

+ 6 - 5
main/install/install.lib.php

@@ -2643,7 +2643,7 @@ function create_course_tables($course_db_name = null) {
         question_id int unsigned NOT NULL,
         exercice_id int unsigned NOT NULL,
         question_order int unsigned NOT NULL default 1,
-        PRIMARY KEY (c_id, question_id,exercice_id)
+        PRIMARY KEY (c_id, question_id, exercice_id)
         )" . $charset_clause;
     Database::query($sql);
 
@@ -2651,24 +2651,25 @@ function create_course_tables($course_db_name = null) {
 
     $sql = "CREATE TABLE `".$table_quiz_question_category . "` (
 	  $add_to_all_tables
-	  id int NOT NULL AUTO_INCREMENT,
+	  id int unsigned NOT NULL AUTO_INCREMENT,
 	  title varchar(255) NOT NULL,
 	  description text NOT NULL,
-	  PRIMARY KEY (c_id,id)
+	  PRIMARY KEY (c_id, id)
 	)" . $charset_clause;
     Database::query($sql);
 
 
 	$sql = "CREATE TABLE `".$table_quiz_question_rel_category . "` (
 	  $add_to_all_tables
+      id int unsigned NOT NULL AUTO_INCREMENT,
 	  question_id int NOT NULL,
 	  category_id int NOT NULL,
-	  PRIMARY KEY (c_id,question_id)
+	  PRIMARY KEY (id, c_id, question_id)
     )" . $charset_clause;
     Database::query($sql);
 
 
-    /*        Course description	*/
+    //Course description
 
     $sql = "
         CREATE TABLE `".$TABLETOOLCOURSEDESC . "` (

+ 9 - 1
main/install/migrate-db-1.9.0-1.10.0-pre.sql

@@ -72,6 +72,11 @@ ALTER TABLE c_lp_item_view ADD INDEX idx_c_lp_item_view_cid_lp_view_id_lp_item_i
 ALTER TABLE c_item_property ADD INDEX idx_itemprop_id_tool (c_id, tool(8));
 ALTER TABLE c_tool_intro MODIFY COLUMN intro_text MEDIUMTEXT NOT NULL;
 
+ALTER TABLE c_quiz_question_rel_category ADD COLUMN id int unsigned NOT NULL;
+ALTER TABLE c_quiz_question_rel_category DROP PRIMARY KEY;
+ALTER TABLE c_quiz_question_rel_category ADD PRIMARY KEY (id, c_id, question_id);
+ALTER TABLE c_quiz_question_rel_category MODIFY COLUMN id int unsigned AUTO_INCREMENT;
+
 ALTER TABLE session ADD INDEX idx_id_coach (id_coach);
 ALTER TABLE session ADD INDEX idx_id_session_admin_id (session_admin_id);
 
@@ -106,5 +111,8 @@ CREATE TABLE migration_transaction (id int not null AUTO_INCREMENT,  branch_id i
 CREATE TABLE migration_transaction_status (  id tinyint not null PRIMARY KEY AUTO_INCREMENT,  title char(20));
 INSERT INTO migration_transaction_status VALUES (1, 'To be executed'), (2, 'Executed successfully'), (3, 'Execution deprecated'), (4, 'Execution failed');
 
+
+
+
 -- Do not move this 
-UPDATE settings_current SET selected_value = '1.10.0.20283' WHERE variable = 'chamilo_database_version';
+UPDATE settings_current SET selected_value = '1.10.0.20306' WHERE variable = 'chamilo_database_version';