NAME

    DBIx::Aurora - DBI handler specialized in Amazon Aurora

SYNOPSIS

      use DBIx::Aurora;
    
      my $aurora = DBIx::Aurora->new(
          CLUSTER_1 => { # AUTOLOAD method named `cluster_1`
              instances => [
                  [ $dsn_1, $user, $password, $attr ],
                  [ $dsn_2, $user, $password, $attr ],
                  [ $dsn_3, $user, $password, $attr ],
              ],
              opts => {
                  force_reader_only  => 0,
                  reconnect_interval => 3600,
                  logger => sub {
                      my ($error_type, $message, $exception) = @_;
                      ...;
                  },
              }
          },
          CLUSTER_2 => { # AUTOLOAD method named `cluster_2`
              instances => [
                  [ $dsn_4, $user, $password, $attr ],
                  [ $dsn_5, $user, $password, $attr ],
                  [ $dsn_6, $user, $password, $attr ],
              ],
              opts => {
                  force_reader_only  => 0,
                  reconnect_interval => 3600,
                  logger => sub {
                      my ($error_type, $message, $exception) = @_;
                      ...;
                  },
              }
          },
      );
    
      my $rv = eval {
          $aurora->cluster_1->writer(sub {
              my $dbh = shift;
              $dbh->do($query_1, undef, @bind_1);
          });
      };
      if (my $e = $@) {
          logger->crit("Failed to execute query: $e");
      }
    
      my $row = eval {
          $aurora->cluster_2->reader(sub {
            my $dbh = shift;
            $dbh->selectrow_hashref($queruy_2, undef, @bind_2)
        });
      };
      if (my $e = $@) {
          logger->crit("Failed to execute query: $e");
      }

DESCRIPTION

    DBIx::Aurora is a DBI handler specialized in Amazon Aurora.

    DBIx::Aurora detects writer/reader instances automatically and manages
    network connections. Also you can handle multiple Aurora clusters.

METHOD

 AUTOLOADed methods

    You can access registered clusters and/or instances via AUTOLOADed
    methods. It returns DBIx::Aurora::Cluster instance.

AUTHOR

    punytan <punytan@gmail.com>

COPYRIGHT

    Copyright 2017- punytan

LICENSE

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

SEE ALSO

