| ... | ... | 
                  @@ -1,7 +1,9 @@  | 
              
| 1 | 1 | 
                  0.1648  | 
              
| 2 | 
                  - add DBIx::Custom::Model columns attirbute  | 
              |
| 3 | 
                  - add DBIx::Custom::Model foreign_key() attribute  | 
              |
| 4 | 
                  - add models() attribute  | 
              |
| 2 | 
                  + add experimental each_table() method  | 
              |
| 3 | 
                  + add experimental setup_model()  | 
              |
| 4 | 
                  + add experimental DBIx::Custom::Model columns attirbute  | 
              |
| 5 | 
                  + add experimental DBIx::Custom::Model foreign_key() attribute  | 
              |
| 6 | 
                  + add experimental models() attribute  | 
              |
| 5 | 7 | 
                  0.1647  | 
              
| 6 | 8 | 
                  add default_dbi_option()  | 
              
| 7 | 9 | 
                  0.1646  | 
              
| ... | ... | 
                  @@ -666,6 +666,20 @@ sub include_model {
                 | 
              
| 666 | 666 | 
                  return $self;  | 
              
| 667 | 667 | 
                  }  | 
              
| 668 | 668 | 
                   | 
              
| 669 | 
                  +sub setup_model {
                 | 
              |
| 670 | 
                  + my $self = shift;  | 
              |
| 671 | 
                  +  | 
              |
| 672 | 
                  + $self->each_column(  | 
              |
| 673 | 
                  +        sub {
                 | 
              |
| 674 | 
                  + my ($self, $table, $column, $column_info) = @_;  | 
              |
| 675 | 
                  +  | 
              |
| 676 | 
                  +            if (my $model = $self->models->{$table}) {
                 | 
              |
| 677 | 
                  +                push @{$model->columns}, $column;
                 | 
              |
| 678 | 
                  + }  | 
              |
| 679 | 
                  + }  | 
              |
| 680 | 
                  + );  | 
              |
| 681 | 
                  +}  | 
              |
| 682 | 
                  +  | 
              |
| 669 | 683 | 
                  our %VALID_UPDATE_ARGS  | 
              
| 670 | 684 | 
                     = map { $_ => 1 } qw/table param
                 | 
              
| 671 | 685 | 
                  where append filter allow_update_all query/;  | 
              
| ... | ... | 
                  @@ -1222,9 +1236,9 @@ Return value of C<insert()> is the count of affected rows.  | 
              
| 1222 | 1236 | 
                   | 
              
| 1223 | 1237 | 
                  $dbi->each_column(  | 
              
| 1224 | 1238 | 
                           sub {
                 | 
              
| 1225 | 
                  - my ($self, $table, $column, $info) = @_;  | 
              |
| 1239 | 
                  + my ($self, $table, $column, $column_info) = @_;  | 
              |
| 1226 | 1240 | 
                   | 
              
| 1227 | 
                  -            my $type = $info->{TYPE_NAME};
                 | 
              |
| 1241 | 
                  +            my $type = $column_info->{TYPE_NAME};
                 | 
              |
| 1228 | 1242 | 
                   | 
              
| 1229 | 1243 | 
                               if ($type eq 'DATE') {
                 | 
              
| 1230 | 1244 | 
                  # ...  | 
              
| ... | ... | 
                  @@ -1235,7 +1249,7 @@ Get column informations from database.  | 
              
| 1235 | 1249 | 
                  Argument is callback.  | 
              
| 1236 | 1250 | 
                  You can do anything in callback.  | 
              
| 1237 | 1251 | 
                  Callback receive four arguments, dbi object, table name,  | 
              
| 1238 | 
                  -column name and columninformation.  | 
              |
| 1252 | 
                  +column name and column information.  | 
              |
| 1239 | 1253 | 
                   | 
              
| 1240 | 1254 | 
                  =head2 C<(experimental) include_model>  | 
              
| 1241 | 1255 | 
                   | 
              
| ... | ... | 
                  @@ -1420,6 +1434,13 @@ Return value of C<update()> is the count of affected rows.  | 
              
| 1420 | 1434 | 
                   | 
              
| 1421 | 1435 | 
                  Set and get a L<DBIx::Custom::Model> object,  | 
              
| 1422 | 1436 | 
                   | 
              
| 1437 | 
                  +=head2 C<(experimental) setup_model>  | 
              |
| 1438 | 
                  +  | 
              |
| 1439 | 
                  + $dbi->setup_model;  | 
              |
| 1440 | 
                  +  | 
              |
| 1441 | 
                  +Setup all model objects.  | 
              |
| 1442 | 
                  +C<columns> and C<primary_key> is automatically set.  | 
              |
| 1443 | 
                  +  | 
              |
| 1423 | 1444 | 
                  =head2 C<update_all>  | 
              
| 1424 | 1445 | 
                   | 
              
| 1425 | 1446 | 
                  $dbi->update_all(table => $table,  | 
              
| ... | ... | 
                  @@ -1046,6 +1046,11 @@ You can set column names  | 
              
| 1046 | 1046 | 
                   | 
              
| 1047 | 1047 | 
                  $model->columns(['id', 'number_id']);  | 
              
| 1048 | 1048 | 
                   | 
              
| 1049 | 
                  +Column names is automarically set by C<setup_model()>.  | 
              |
| 1050 | 
                  +This method is needed to be call after C<include_model()>.  | 
              |
| 1051 | 
                  +  | 
              |
| 1052 | 
                  + $dbi->setup_model;  | 
              |
| 1053 | 
                  +  | 
              |
| 1049 | 1054 | 
                  =head2 Model Examples  | 
              
| 1050 | 1055 | 
                   | 
              
| 1051 | 1056 | 
                  Model examples  | 
              
| ... | ... | 
                  @@ -1074,6 +1074,11 @@ C<select_at()>で利用されます。  | 
              
| 1074 | 1074 | 
                   | 
              
| 1075 | 1075 | 
                  $model->columns(['id', 'number_id']);  | 
              
| 1076 | 1076 | 
                   | 
              
| 1077 | 
                  +列名はC<setup_model()>で自動的に設定することができます。  | 
              |
| 1078 | 
                  +このメソッドはC<include_model()>の後で呼び出してください。  | 
              |
| 1079 | 
                  +  | 
              |
| 1080 | 
                  + $dbi->setup_model;  | 
              |
| 1081 | 
                  +  | 
              |
| 1077 | 1082 | 
                  =head2 モデルのサンプル  | 
              
| 1078 | 1083 | 
                   | 
              
| 1079 | 1084 | 
                  モデルのサンプルです。  | 
              
| ... | ... | 
                  @@ -1385,3 +1385,12 @@ $model = $dbi->model('book');
                 | 
              
| 1385 | 1385 | 
                  $model->columns(['id', 'number']);  | 
              
| 1386 | 1386 | 
                  is_deeply($model->columns, ['id', 'number']);  | 
              
| 1387 | 1387 | 
                   | 
              
| 1388 | 
                  +test 'setup_model';  | 
              |
| 1389 | 
                  +use MyDBI1;  | 
              |
| 1390 | 
                  +$dbi = MyDBI1->connect($NEW_ARGS->{0});
                 | 
              |
| 1391 | 
                  +$dbi->execute('create table book (id)');
                 | 
              |
| 1392 | 
                  +$dbi->execute('create table company (id, name);');
                 | 
              |
| 1393 | 
                  +$dbi->execute('create table test (id, name, primary key (id, name));');
                 | 
              |
| 1394 | 
                  +$dbi->setup_model;  | 
              |
| 1395 | 
                  +is_deeply($dbi->model('book')->columns, ['id']);
                 | 
              |
| 1396 | 
                  +is_deeply($dbi->model('company')->columns, ['id', 'name']);
                 |