Index: lams_common/db/model/lams_11.clay
===================================================================
diff -u -r6f022e925fa8e14482740383077202fc56a843a6 -ra013e19f4975a63a246dbea05b9adda64a274dd1
--- lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision 6f022e925fa8e14482740383077202fc56a843a6)
+++ lams_common/db/model/lams_11.clay (.../lams_11.clay) (revision a013e19f4975a63a246dbea05b9adda64a274dd1)
@@ -1519,7 +1519,13 @@
-
+
+
+
+
+
+
+
Index: lams_common/db/sql/create_lams_11_tables.sql
===================================================================
diff -u -r6f022e925fa8e14482740383077202fc56a843a6 -ra013e19f4975a63a246dbea05b9adda64a274dd1
--- lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 6f022e925fa8e14482740383077202fc56a843a6)
+++ lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision a013e19f4975a63a246dbea05b9adda64a274dd1)
@@ -845,6 +845,7 @@
, create_date_time DATETIME NOT NULL
, to_ui_id INT(11)
, from_ui_id INT(11)
+ , UNIQUE UQ_transition_activities (from_activity_id, to_activity_id)
, PRIMARY KEY (transition_id)
, INDEX (from_activity_id)
, CONSTRAINT FK_learning_transition_3 FOREIGN KEY (from_activity_id)
Index: lams_common/db/sql/updatescripts/alter_203_transition.sql
===================================================================
diff -u
--- lams_common/db/sql/updatescripts/alter_203_transition.sql (revision 0)
+++ lams_common/db/sql/updatescripts/alter_203_transition.sql (revision a013e19f4975a63a246dbea05b9adda64a274dd1)
@@ -0,0 +1,7 @@
+-- Script to be run for LAMS 2.0.3 release, on LAMS 2.0.2 tables.
+-- Add a new unique index to the transition table as duplicates cause an error in authoring (LDEV-1229)
+
+ALTER TABLE lams_learning_transition
+ADD UNIQUE UQ_transition_activities (from_activity_id, to_activity_id);
+
+COMMIT;
Index: lams_common/db/sql/updatescripts/check_203_upgrade_okay.sql
===================================================================
diff -u
--- lams_common/db/sql/updatescripts/check_203_upgrade_okay.sql (revision 0)
+++ lams_common/db/sql/updatescripts/check_203_upgrade_okay.sql (revision a013e19f4975a63a246dbea05b9adda64a274dd1)
@@ -0,0 +1,16 @@
+-- Script to be run for LAMS 2.0.3 release, on LAMS 2.0.2 tables.
+-- We will be adding a new unique index on the lams_learning_transition table, so we need to check that this will work
+-- ie that there aren't duplicates already. If there are duplicates, then the installer MUST STOP!
+
+CREATE TEMPORARY TABLE tmp_check_tran
+SELECT transition_id, concat(to_activity_id, '-', from_activity_id) AS activity_ids
+FROM lams_learning_transition;
+
+CREATE TEMPORARY TABLE tmp_check_tran_count
+SELECT activity_ids, count(*) AS number_of_occurances
+FROM tmp_check_tran
+GROUP BY activity_ids;
+
+SELECT * from tmp_check_tran_count
+WHERE number_of_occurances > 1
+