From: Frank Brehm Date: Tue, 10 Aug 2010 14:13:55 +0000 (+0000) Subject: Hände-Weg-Ausgabe in die generierten Dateien reingeschrieben. X-Git-Url: https://git.uhu-banane.org/?a=commitdiff_plain;h=6dbc0865ad3a074dbc3b1a6da2e07f59e778ec88;p=my-stuff%2Fpostfix-maps.git Hände-Weg-Ausgabe in die generierten Dateien reingeschrieben. git-svn-id: http://svn.brehm-online.com/svn/my-stuff/postfix-maps/trunk@118 ec8d2aa5-1599-4edb-8739-2b3a1bc399aa --- diff --git a/lib/FrBr/Postfix/App.pm b/lib/FrBr/Postfix/App.pm index 282c943..bfacb4a 100644 --- a/lib/FrBr/Postfix/App.pm +++ b/lib/FrBr/Postfix/App.pm @@ -818,6 +818,26 @@ sub do_mapping { } $self->debug( sprintf( "Maximallänge in Spalte '%s' von Mapping '%s': %s", $first_col, $mapname, ( $max_col_length // 'undef' ) ) ) if $self->verbose >= 3; + # Sonstige Informationen zur Resultsource beschaffen + my $table_name = $self->schema->source( $map->{'resultset'} )->from(); + my $dsn = $self->config->{'Model::Schema'}{'connect_info'}{'dsn'}; + my ( $host, $port, $db ); + if ( $dsn ) { + if ( $dsn =~ /host=([a-z0-9\-_\.]+)/i ) { + $host = $1; + } + if ( $db =~ /database=([a-z0-9\-_\.]+)/i ) { + $db = $1; + } + if ( $db =~ /port=(\d+)/i ) { + $db = $1; + } + } + $host //= 'localhost'; + $db //= 'vmail'; + $port //= 3306; + $host .= " (Port " . $port . ")" if $port != 3306; + # Erstellen der Arbeitsdatei $self->debug( sprintf( "Öffne Arbeitsdatei '%s' ...", $map->{'workfile'} ) ) if $self->verbose >= 2; unless ( open( FILE, ">", $map->{'workfile'}->stringify ) ) { @@ -832,6 +852,9 @@ sub do_mapping { printf FILE "# %s\n", $txt; print FILE "#\n"; printf FILE "# Erstellt am: %s\n", strftime( '%Y-%m-%d %H:%M:%S', localtime() ); + print FILE encode_utf8( "#\n# ACHTUNG !!!!!\n#\n"); + print FILE encode_utf8( "# Bitte keine manuellen Änderungen an dieser Datei!\n" ); + print FILE encode_utf8( sprintf "# Zum Ändern bitte MySQL-Tabelle '%s' in der Datenbank '%s' auf %s editieren.\n", $table_name, $db, $host ); print FILE "#\n\n"; # Nachgucken, ob es überhaupt Zeilen zu Schreiben gibt: