DBIx-Class
view release on metacpan or search on metacpan
lib/DBIx/Class/Admin.pm view on Meta::CPAN
}
=head2 deploy
=over 4
=item Arguments: $args
=back
deploy will create the schema at the connected database. C<$args> are passed straight to
L<DBIx::Class::Schema/deploy>.
=cut
sub deploy {
my ($self, $args) = @_;
my $schema = $self->schema();
$schema->deploy( $args, $self->sql_dir );
}
=head2 insert
=over 4
=item Arguments: $rs, $set
=back
insert takes the name of a resultset from the schema_class and a hashref of data to insert
into that resultset
=cut
sub insert {
my ($self, $rs, $set) = @_;
$rs ||= $self->resultset();
$set ||= $self->set();
my $resultset = $self->schema->resultset($rs);
my $obj = $resultset->new_result($set)->insert;
print ''.ref($resultset).' ID: '.join(',',$obj->id())."\n" if (!$self->quiet);
}
=head2 update
=over 4
=item Arguments: $rs, $set, $where
=back
update takes the name of a resultset from the schema_class, a hashref of data to update and
a where hash used to form the search for the rows to update.
=cut
sub update {
my ($self, $rs, $set, $where) = @_;
$rs ||= $self->resultset();
$where ||= $self->where();
$set ||= $self->set();
my $resultset = $self->schema->resultset($rs);
$resultset = $resultset->search( ($where||{}) );
my $count = $resultset->count();
print "This action will modify $count ".ref($resultset)." records.\n" if (!$self->quiet);
if ( $self->force || $self->_confirm() ) {
$resultset->update_all( $set );
}
}
=head2 delete
=over 4
=item Arguments: $rs, $where, $attrs
=back
delete takes the name of a resultset from the schema_class, a where hashref and a attrs to pass to ->search.
The found data is deleted and cannot be recovered.
=cut
sub delete {
my ($self, $rs, $where, $attrs) = @_;
$rs ||= $self->resultset();
$where ||= $self->where();
$attrs ||= $self->attrs();
my $resultset = $self->schema->resultset($rs);
$resultset = $resultset->search( ($where||{}), ($attrs||()) );
my $count = $resultset->count();
print "This action will delete $count ".ref($resultset)." records.\n" if (!$self->quiet);
if ( $self->force || $self->_confirm() ) {
$resultset->delete_all();
}
}
=head2 select
=over 4
=item Arguments: $rs, $where, $attrs
=back
select takes the name of a resultset from the schema_class, a where hashref and a attrs to pass to ->search.
The found data is returned in a array ref where the first row will be the columns list.
=cut
( run in 2.268 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )