|
Lines 35-54
Koha::Database
Link Here
|
| 35 |
use Modern::Perl; |
35 |
use Modern::Perl; |
| 36 |
use Carp; |
36 |
use Carp; |
| 37 |
use C4::Context; |
37 |
use C4::Context; |
|
|
38 |
use Koha::Schema; |
| 38 |
use base qw(Class::Accessor); |
39 |
use base qw(Class::Accessor); |
| 39 |
|
40 |
|
| 40 |
use vars qw($database); |
41 |
use vars qw($database); |
| 41 |
|
42 |
|
| 42 |
__PACKAGE__->mk_accessors(qw( )); |
43 |
__PACKAGE__->mk_accessors(qw( )); |
| 43 |
|
44 |
|
|
|
45 |
BEGIN { |
| 46 |
# Initialize the base schema object (just loads the schema classes) |
| 47 |
$database->{base_schema} = Koha::Schema->clone; |
| 48 |
} |
| 49 |
|
| 44 |
# _new_schema |
50 |
# _new_schema |
| 45 |
# Internal helper function (not a method!). This creates a new |
51 |
# Internal helper function (not a method!). This creates a new |
| 46 |
# database connection from the data given in the current context, and |
52 |
# database connection from the data given in the current context, and |
| 47 |
# returns it. |
53 |
# returns it. |
| 48 |
sub _new_schema { |
54 |
sub _new_schema { |
| 49 |
|
|
|
| 50 |
require Koha::Schema; |
| 51 |
|
| 52 |
my $context = C4::Context->new(); |
55 |
my $context = C4::Context->new(); |
| 53 |
|
56 |
|
| 54 |
my $db_driver = $context->{db_driver}; |
57 |
my $db_driver = $context->{db_driver}; |
|
Lines 70-76
sub _new_schema {
Link Here
|
| 70 |
$encoding_query = "set client_encoding = 'UTF8';"; |
73 |
$encoding_query = "set client_encoding = 'UTF8';"; |
| 71 |
$tz_query = qq(SET TIME ZONE = "$tz") if $tz; |
74 |
$tz_query = qq(SET TIME ZONE = "$tz") if $tz; |
| 72 |
} |
75 |
} |
| 73 |
my $schema = Koha::Schema->connect( |
76 |
|
|
|
77 |
# This creates a new copy of the schema with its own database handle but with all the schema |
| 78 |
# classes already loaded. |
| 79 |
my $schema = $database->{base_schema}->connect( |
| 74 |
{ |
80 |
{ |
| 75 |
dsn => "dbi:$db_driver:database=$db_name;host=$db_host;port=$db_port", |
81 |
dsn => "dbi:$db_driver:database=$db_name;host=$db_host;port=$db_port", |
| 76 |
user => $db_user, |
82 |
user => $db_user, |
| 77 |
- |
|
|