Bug 14205 added a new foreign key on the course_reserve table.
As this dbrev has been backported to the stable version (3.20.x), the
next dbrev should take care of this existing constraint to avoid
warnings.
Test plan:
1/ replace the modified dbrev with 3.21.00.XXX to make sure it will be
executed
2/ Make sure you have the KEY and the FK on the course_reserves table:
sql> alter table course_reserves add CONSTRAINT `course_reserves_ibfk_2`
FOREIGN KEY (`ci_id`) REFERENCES `course_items` (`ci_id`) ON DELETE
CASCADE ON UPDATE CASCADE;
sql> alter table course_reserves ADD KEY `course_reserves_ibfk_2` (`ci_id`);
3/ SHOW CREATE TABLE course_reserves
should show that the table is not in sync with the kohastructure.sql file
4/ Execute the dbrev
5/ SHOW CREATE TABLE course_reserves
should show that the table is in sync with the kohastructure.sql file
Repeat 4 and 5, confirm you don't get any error.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
LEFT JOIN course_items USING(ci_id)
WHERE course_items.ci_id IS NULL
});
+
+ my ($print_error) = $dbh->{PrintError};
+ $dbh->{RaiseError} = 0;
+ $dbh->{PrintError} = 0;
+ $dbh->do(q{ALTER TABLE course_reserves DROP FOREIGN KEY course_reserves_ibfk_2});
+ $dbh->do(q{ALTER TABLE course_reserves DROP INDEX course_reserves_ibfk_2});
+ $dbh->{PrintError} = $print_error;
+
$dbh->do(q{
ALTER IGNORE TABLE course_reserves
- add CONSTRAINT course_reserves_ibfk_2
+ ADD CONSTRAINT course_reserves_ibfk_2
FOREIGN KEY (ci_id) REFERENCES course_items (ci_id)
ON DELETE CASCADE ON UPDATE CASCADE
});