The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Quiq::Database::Config - Datenbank-Konfiguration

BASE CLASS

Quiq::Config

DESCRIPTION

Die Klasse kapselt den Zugriff auf eine Konfigurationsdatei, in der Eingenschaften von einer oder mehrerer Datenbanken hinterlegt sind. Es können beliebige Eigenschaften spezifiziert werden. Speziell wird die Abfrage des Universal Database Locators (UDL) unterstützt. Die Datei darf wegen etwaig enthaltener Passwörter nur für den Owner lesbar/schreibbar sein. Ist sie es nicht, wird eine Exception geworfen.

Aufbau der Konfigurationsdatei

  '<database>' => {
      udl => '<udl>',
      ...
  },
  ...
  • <database> ist ein beliebger Bezeichner.

  • <udl> ist der UDL der Datenbank.

  • Der Konfigurationshash {...} wird im Konstruktor zu einem ungelockten Quiq::Hash instantiiert. Entsprechend können die Methoden der Klasse Quiq::Hash zum Lesen der Konfigurationseinträge genutzt werden.

EXAMPLE

  use Quiq::Database::Config;
  
  $cfg = Quiq::Database::Config->new('~/project/test/db.conf');
  $udl = $cfg->udl('test_db');

METHODS

Klassenmethoden

new() - Konstruktor

Synopsis

  $cfg = $class->new;
  $cfg = $class->new($file);

Arguments

$file (Default: '~/.db.conf')

Konfigurationsdatei

Options

-sloppy => $bool (Default: 0)

Liefere undef, wenn Datei $file nicht existiert.

Returns

Objekt

Description

Instantiiere ein Objekt der Klasse und liefere eine Referenz auf dieses Objekt zurück.

Objektmethoden

udl() - Universal Database Locator

Synopsis

  $udl = $cfg->udl($database);

Arguments

$database

Name der Datenbank (String).

Returns

Universal Database Locator (String).

Description

Ermittele den Universal Database Locator (UDL) der Datenbank $database und liefere diesen zurück.

VERSION

1.191

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2020 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.