今日はDBIx::モジュールのテストなどでときおり見受けられるDBD::SQLiteのハマリどころとその対策を紹介します。 後片づけ編 (オブジェクトではなく)クラス内部でコネクションを張りっぱなしにしてしまうDBIx系モジュールでありがちなことですが、テストの後始末をするときに、DBD::SQLiteで開いておいたデータベースを閉じずに削除しようとすると、Windows環境などではパーミッションの問題でエラーになります。 my $dbh = DBI->connect('dbi:SQLite:foo.db'); ... unlink 'foo.db'; 明示的にデータベースを閉じてからデータベースを削除するのが王道ですが、 my $dbh = DBI->connect('dbi:SQLite:foo.db'); ... undef $dbh; unlink 'foo.db'; 並列処理を行
![DBIx::*ユーザのためのDBD::SQLite - Articles Advent Calendar 2011 Dbix](https://cdn-ak-scissors.b.st-hatena.com/image/square/7b52d2fff827cd3d9db72a210f824b7bb4dfa81f/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fkfly8%2Fimage%2Fupload%2Fl_text%3ANotoSansJP-Black.otf_50_bold%3ADBIx%253A%253A%252A%25E3%2583%25A6%25E3%2583%25BC%25E3%2582%25B6%25E3%2581%25AE%25E3%2581%259F%25E3%2582%2581%25E3%2581%25AEDBD%253A%253ASQLite%2Cco_rgb%3A000000%2Cw_900%2Cc_fit%2Fl_text%3ANotoSansJP-Black.otf_30_bold%3Ac6r%2Cco_rgb%3A000000%2Cg_south_east%2Cx_130%2Cy_120%2Fv1601626948%2Fog-perl-users-jp.png)