41 lines
926 B
Perl
41 lines
926 B
Perl
package LasTres::Schema;
|
|
our $VERSION = 1;
|
|
|
|
use v5.36.0;
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use feature 'signatures';
|
|
|
|
use LasTres;
|
|
|
|
use parent 'DBIx::Class::Schema';
|
|
|
|
__PACKAGE__->load_namespaces();
|
|
|
|
sub Schema($class) {
|
|
my $app = LasTres->new;
|
|
my $config = $app->{config};
|
|
my $database_config = $config->{database};
|
|
my $dbname = $database_config->{dbname};
|
|
my $host = $database_config->{host};
|
|
my $port = $database_config->{port};
|
|
my $user = $database_config->{user};
|
|
my $password = $database_config->{password};
|
|
my $dsn = 'dbi:Pg:';
|
|
if (!defined $dbname) {
|
|
die "The key database/dbname must be configured.";
|
|
}
|
|
$dsn .= "dbname=$dbname";
|
|
if (defined $host) {
|
|
$dsn .= ";host=$host";
|
|
}
|
|
if (defined $port) {
|
|
$dsn .= ";port=$port";
|
|
}
|
|
# Undef is perfectly fine for username and password.
|
|
return $class->connect($dsn, $user, $password);
|
|
}
|
|
1;
|