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
}
+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;
# Add more tests here!!!
use Modern::Perl;
-use Test::More tests => 16;
+use Test::More tests => 18;
use Koha::Database;
BEGIN {
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');