Bugzilla – Attachment 25829 Details for
Bug 11891
Make Koha::Schema use C4::Context->dbh
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 11891 - Make Koha::Schema use C4::Context->dbh
Bug-11891---Make-KohaSchema-use-C4Context-dbh.patch (text/plain), 2.61 KB, created by
Kyle M Hall (khall)
on 2014-03-04 18:35:49 UTC
(
hide
)
Description:
Bug 11891 - Make Koha::Schema use C4::Context->dbh
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2014-03-04 18:35:49 UTC
Size:
2.61 KB
patch
obsolete
>From 3471a6dd80db170429b09fcf35264d4d05317845 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Tue, 4 Mar 2014 13:26:03 -0500 >Subject: [PATCH] Bug 11891 - Make Koha::Schema use C4::Context->dbh > >Right now there is no connection between the database handles used by >C4::Context::dbh and Koha::Datbase/Schema. This makes it impossible to >use transactions in unit tests to temporarily modify the database to >test subroutines that take advantage of Koha::Database. This patch fixes >that issue. > >Test Plan: >1) Apply the patch for bug 11634 >2) prove t/db_dependent/Circulation.t should fail >3) Apply this patch >4) prove t/db_dependent/Circulation.t should not fail >--- > Koha/Database.pm | 12 +----------- > Koha/Schema.pm | 2 +- > Koha/Storage.pm | 16 ++++++++++++++++ > 3 files changed, 18 insertions(+), 12 deletions(-) > create mode 100644 Koha/Storage.pm > >diff --git a/Koha/Database.pm b/Koha/Database.pm >index 12758bf..99888c6 100644 >--- a/Koha/Database.pm >+++ b/Koha/Database.pm >@@ -45,17 +45,7 @@ __PACKAGE__->mk_accessors(qw( )); > # database connection from the data given in the current context, and > # returns it. > sub _new_schema { >- my $context = C4::Context->new(); >- my $db_driver = C4::Context::db_scheme2dbi($context->config("db_scheme")); >- >- my $db_name = $context->config("database"); >- my $db_host = $context->config("hostname"); >- my $db_port = $context->config("port") || ''; >- my $db_user = $context->config("user"); >- my $db_passwd = $context->config("pass"); >- my $schema = Koha::Schema->connect( >- "DBI:$db_driver:dbname=$db_name;host=$db_host;port=$db_port", >- $db_user, $db_passwd ); >+ my $schema = Koha::Schema->connect( sub { C4::Context->dbh } ); > return $schema; > } > >diff --git a/Koha/Schema.pm b/Koha/Schema.pm >index cffc631..111855c 100644 >--- a/Koha/Schema.pm >+++ b/Koha/Schema.pm >@@ -15,6 +15,6 @@ __PACKAGE__->load_namespaces; > # Created by DBIx::Class::Schema::Loader v0.07025 @ 2013-10-14 20:56:21 > # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:oDUxXckmfk6H9YCjW8PZTw > >+__PACKAGE__->storage_type('Koha::Storage'); > >-# You can replace this text with custom content, and it will be preserved on regeneration > 1; >diff --git a/Koha/Storage.pm b/Koha/Storage.pm >new file mode 100644 >index 0000000..599b6a1 >--- /dev/null >+++ b/Koha/Storage.pm >@@ -0,0 +1,16 @@ >+use utf8; >+package Koha::Storage; >+ >+use strict; >+use warnings; >+ >+use base 'DBIx::Class::Storage::DBI'; >+sub DESTROY { >+ my $self = shift; >+ >+ # destroy just the object if not native to this process/thread >+ $self->_preserve_foreign_dbh; >+ >+ $self->_dbh(undef); >+} >+1; >-- >1.7.2.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 11891
:
25828
|
25829
|
28962
|
28963
|
28964
|
28965
|
28966
|
28967
|
28968
|
28969