From 1dd5af192e72e989c29202c873811f2bed77513b Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 18 Nov 2020 17:08:11 +0000 Subject: [PATCH] Bug 26947: (follow-up) Set key checks to disabled for kohastructure --- C4/Installer.pm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/C4/Installer.pm b/C4/Installer.pm index 1c5dc8f1ec..086226dbab 100644 --- a/C4/Installer.pm +++ b/C4/Installer.pm @@ -279,7 +279,33 @@ sub load_db_schema { my $self = shift; my $datadir = C4::Context->config('intranetdir') . "/installer/data/$self->{dbms}"; + + # Disable checks before load + $self->{'dbh'}->do(q{SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT}); + $self->{'dbh'}->do(q{@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS}); + $self->{'dbh'}->do(q{@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION}); + $self->{'dbh'}->do(q{SET NAMES utf8mb4}); + $self->{'dbh'}->do(q{@OLD_TIME_ZONE=@@TIME_ZONE}); + $self->{'dbh'}->do(q{SET TIME_ZONE='+00:00'}); + $self->{'dbh'}->do(q{SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0}); + $self->{'dbh'}->do(q{SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0}); + $self->{'dbh'}->do(q{SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'}); + $self->{'dbh'}->do(q{SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0}); + + # Load kohastructure my $error = $self->load_sql("$datadir/kohastructure.sql"); + + # Re-enable checks after load + $self->{'dbh'}->do(q{SET character_set_client = @saved_cs_client}); + $self->{'dbh'}->do(q{SET TIME_ZONE=@OLD_TIME_ZONE}); + $self->{'dbh'}->do(q{SET SQL_MODE=@OLD_SQL_MODE}); + $self->{'dbh'}->do(q{SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS}); + $self->{'dbh'}->do(q{SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS}); + $self->{'dbh'}->do(q{SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT}); + $self->{'dbh'}->do(q{SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS}); + $self->{'dbh'}->do(q{SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION}); + $self->{'dbh'}->do(q{SET SQL_NOTES=@OLD_SQL_NOTES}); + return $error; } -- 2.20.1