Perl DBIx::Class 截断 table
Perl DBIx::Class Truncate table
我正在寻找用 DBIx::Class
截断 table 的方法,但我无法在网上找到任何东西,除了一些建议,例如删除所有行而不是截断table。
不幸的是,TRUNCATE
速度要快得多,我希望能正确地完成它。现在,我想我会使用 DBI
进行截断,但它有点缺点。
这有可能吗?
提前致谢:-)
您可以直接在您的 DBIx::Class 模型中执行 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
);
}
我正在寻找用 DBIx::Class
截断 table 的方法,但我无法在网上找到任何东西,除了一些建议,例如删除所有行而不是截断table。
不幸的是,TRUNCATE
速度要快得多,我希望能正确地完成它。现在,我想我会使用 DBI
进行截断,但它有点缺点。
这有可能吗?
提前致谢:-)
您可以直接在您的 DBIx::Class 模型中执行 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
);
}