Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Perl
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib/DBIx/Skinny
t
xt
.gitignore
.shipit
Changes
MANIFEST.SKIP
Makefile.PL
README

README

NAME
    DBIx::Skinny::ProxyTable - handling dynamic table for DBIx::Skinny

SYNOPSIS
      package Proj::DB;
      use DBIx::Skinny;
      use DBIx::Skinny::Mixin modules => [qw(ProxyTable)];

      package Proj::DB::Schema;
      use DBIx::Skinny::Schema;
      use DBIx::Skinny::Schema::ProxyTableRule;

      install_table 'access_log' => shcema {
        proxy_table_rule 'named_strftime', 'access_log_%Y%m', 'accessed_on';

        pk 'id';
        columns qw/id/;
      };

      package main;

      my $rule = Proj::DB->proxy_table->rule('access_log', accessed_on => DateTime->today);
      $rule->table_name; #=> "access_log_200901"
      $rule->copy_table;

      my $iter = Proj::DB->search($rule->table_name, { foo => 'bar' });

      # or you can call manually. ( NOT RECOMMEND )
      Proj::DB->proxy_table->set(access_log => "access_log_200901");
      Proj::DB->proxy_table->copy_table(access_log => "access_log_200901");

DESCRIPTION
    DBIx::Skinny::ProxyTable is DBIx::Skinny::Mixin for partitioning table.

METHOD
  set($from, $to)
    set schema information for table that name is $to based on $from to your
    project skinny's schema. I don't recommend to call this method directly
    because of distributing naming rule.

    see also rule method.

  copy_table($from, $to)
    copy table from $from to $to if it $to is not exist. SQLite and MySQL
    only support.

  rule($from, @args)
    create DBIx::Skinny::ProxyTable::Rule object. @args is followed by your
    project skinny's schema definition.

    see also DBIx::Skinny::ProxyTable::Rule

AUTHOR
    Keiji Yoshimi <walf443 at gmail dot com>

SEE ALSO
    DBIx::Skinny, DBIx::Class::ProxyTable

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

Something went wrong with that request. Please try again.