我正在寻找一种用DBIx::Class
截断表的方法,但我无法在网上找到任何内容,除了一些建议,例如删除所有行而不是截断表。
不幸的是,TRUNCATE
要快得多,我希望能够正确地做到这一点。现在,我想我会使用DBI
进行截断,但这有点不对。
这有可能吗?
提前致谢: - )
答案 0 :(得分:1)
您可以使用小辅助函数直接在DBIx :: Class Model中执行SQL
:
sub _sql_do {
my ( $self , $sql ) = @_ ;
return $self->storage->dbh_do(
sub {
my ( $storage , $dbh , $sql ) = @_ ;
my $sth = $dbh->prepare( $sql ) ;
$sth->execute() ;
},
$sql
);
}