北海道苫小牧市出身の初老PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

Catalyst

今更ですが、Catalystを久々に触りました。ドキュメントも揃ってるので、割とハマらずにいろいろ作れます。楽しい。


さて、作るのはほいほいできたのですが、できたものを Apache2 + worker で動かそうとしたら、3つほど問題が。まず、ithread絡みっぽいDBエラーが出たので、こちらのエントリの追記の方法を試したら上手くいきました。ご報告とお礼をかねて・・・助かりました。


次、SQLLiteのpath をフルパスにしないといけないっぽい件。path_toメソッド使って気分すっきりしました。

    connect_info => [
        'dbi:SQLite:' . YourApp->path_to('db/your_db.db'),
    ],


最後、SQLiteパーミッション関連。.dbは書き込み可で、.dbファイルが置かれているディレクトリは777にしないといけないっぽいです。SQLiteってディレクトリごと利用していたのか・・・*1




追記。path_toについてフォローを頂けたのでメモ。Catalyst::Plugin::ConfigLoaderYAMLからの利用方法が書いてました。

ConfigLoader provides a default finalize_config method which walks through the loaded config hash and replaces any strings beginning containing __HOME__ with the full path to app's home directory (i.e. $c->path_to('') ). You can also use __path_to(foo/bar)__ which translates to $c->path_to('foo', 'bar').

ソース見たら、信じられないほど素直に実装されてました( ´△`)。

*1:言われてみればジャーナルファイルとか勝手にできてた。当然っちゃあ当然か。