Advertisement
Guest User

Mojolicious

a guest
Jun 12th, 2012
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.77 KB | None | 0 0
  1. package Mojolicious::Plugin::Database;
  2. use Mojo::Base 'Mojolicious::Plugin';
  3. use DBIx::Simple;
  4.  
  5. sub register {
  6.   my ($self, $app) = @_;
  7.  
  8.   $app->attr(dbh => sub {
  9.     my $self = shift;
  10.     my $c = $self->config;
  11.  
  12.     my $dbh = DBIx::Simple->new(
  13.       "dbi:mysql:database=$c->{db_name};host=$c->{db_host};port=$c->{db_port}",
  14.       $c->{db_user},
  15.       $c->{db_pass},
  16.       {
  17.         RaiseError => 1,
  18.         mysql_enable_utf8 => 1,
  19.         mysql_auto_reconnect => 1,
  20.         Callbacks => {
  21.           connected => sub {
  22.             shift->do('SET NAMES UTF8');
  23.             return;
  24.           }
  25.         }
  26.       }
  27.     ) or die DBIx::Simple->error;
  28.  
  29.     return $dbh;
  30.   });
  31. }
  32.  
  33. 1;
  34.  
  35. __END__
  36.  
  37. # And then in your Mojolicious app:
  38. $self->plugin('Database');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement