Bug 26325: Add primary_key_exists check to C4::Installer
To test: 1 - prove -v t/db_dependent/Installer.t Signed-off-by: Brandon J <brandon.jimenez@inLibro.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
ebfbefdeb1
commit
d4013f660c
|
|
@ -30,7 +30,7 @@ use vars qw(@ISA @EXPORT);
|
|||
BEGIN {
|
||||
require Exporter;
|
||||
@ISA = qw( Exporter );
|
||||
push @EXPORT, qw( foreign_key_exists index_exists column_exists TableExists);
|
||||
push @EXPORT, qw( primary_key_exists foreign_key_exists index_exists column_exists TableExists);
|
||||
};
|
||||
|
||||
=head1 NAME
|
||||
|
|
@ -610,6 +610,18 @@ sub get_file_path_from_name {
|
|||
|
||||
}
|
||||
|
||||
sub primary_key_exists {
|
||||
my ( $table_name, $key_name ) = @_;
|
||||
my $dbh = C4::Context->dbh;
|
||||
my ($exists) = $dbh->selectrow_array(
|
||||
qq|
|
||||
SHOW INDEX FROM $table_name
|
||||
WHERE key_name = 'PRIMARY' AND column_name = ?
|
||||
|, undef, $key_name
|
||||
);
|
||||
return $exists;
|
||||
}
|
||||
|
||||
sub foreign_key_exists {
|
||||
my ( $table_name, $constraint_name ) = @_;
|
||||
my $dbh = C4::Context->dbh;
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
# Add more tests here!!!
|
||||
|
||||
use Modern::Perl;
|
||||
use Test::More tests => 16;
|
||||
use Test::More tests => 18;
|
||||
use Koha::Database;
|
||||
|
||||
BEGIN {
|
||||
|
|
@ -66,3 +66,7 @@ ok( ! index_exists( 'borrowers', 'xxx'), 'Constraint xxx does not exist' );
|
|||
|
||||
ok( foreign_key_exists( 'borrowers', 'borrowers_ibfk_1' ), 'FK borrowers_ibfk_1 exists' );
|
||||
ok( ! foreign_key_exists( 'borrowers', 'xxx' ), 'FK xxxx does not exist' );
|
||||
|
||||
|
||||
ok( primary_key_exists( 'borrowers', 'borrowernumber'), 'Borrowers has primary key on borrowernumber');
|
||||
ok( ! primary_key_exists( 'borrowers', 'email'), 'Borrowers does not have a primary key on email');
|
||||
|
|
|
|||
Loading…
Reference in New Issue