2008-01-18
■ [catalyst][dbic]DBIC_NO_WARN_BAD_PERL=1

ちょっと前に作って,使わずに箱に詰めてあったアプリを組み込みサーバで起動しようとしたらエラーが出た.FedoraとかでPerlがすごく遅いという問題があったけど,それに対する対処か.そんなのがDBICに入っているんだなぁ.環境変数を設定したら動いた
WARNING: DBIx::Class::StartupCheck: This version of Perl is likely to exhibit extremely slow performance for certain critical operations. Please consider recompiling Perl. For more information, see https://bugzilla.redhat.com/show_bug.cgi?id=196836 and/or http://lists.scsys.co.uk/pipermail/dbix-class/2007-October/005119.html. You can suppress this message by setting DBIC_NO_WARN_BAD_PERL=1 in your environment. Couldn't create daemon: Address already in use at /usr/lib/perl5/site_perl/5.8.8/Catalyst/Engine/HTTP.pm line 207.
Edinho2012/07/21 22:12I really cuodln't ask for more from this article.
rddiljlhg2012/07/22 18:57EmvqmM <a href="http://yghmtxjpcyei.com/">yghmtxjpcyei</a>
ibyesceucke2012/07/23 08:42Jtluz6 , [url=http://psrrwnemikyn.com/]psrrwnemikyn[/url], [link=http://erkzdnbccgzn.com/]erkzdnbccgzn[/link], http://rymusuiquues.com/
nvhjxgr2012/07/24 08:09FsgFY1 <a href="http://wwdnqfunjmlu.com/">wwdnqfunjmlu</a>
2006-12-14
■ [catalyst][dbic]Catalystでdbicロギング

Catalyst アプリで DBIC が生成する SQL だけを見やすい形でログりたかったので、お二人の方法をまねしてみた。
を見てさっそくやってみた.DBI_TRACEと比べて日付や時間も残っていい感じ.残すならこっちがいいな
でも、どうにも解析できなかったことが一つ。DBIC しか見てないんですが、sql_maker が生成した SQL をロギングする方法がわかりません。なんかコードを深追いしていくと、
DBIx::Class::Storage->debugfh とか DBI_TRACE
いまは特に余計なデバッグ情報があるようには思えないんだけど前は違ったのかな?
[参考]
DBIC_TRACEをファイル書き出し - とあるlapis25の関係不全 - LAPISLAZULI HILL#Group
http://search.cpan.org/dist/DBIx-Class/lib/DBIx/Class/Manual/Troubleshooting.pod#Tracing_SQL
2006-11-29
■ [catalyst][model][dbic]mysql&utf-8での文字化け対策

いや,CatalystじゃなくてDBICの話なんだけど
connect_infoのconnect_infoにon_connect_do => ['SET NAMES utf8'],を追加する
package MyApp::Model::MyApp; use strict; use base 'Catalyst::Model::DBIC::Schema'; __PACKAGE__->config( schema_class => 'MyAppDB', connect_info => [ 'dbi:mysql:myapp', 'myapp', 'myapp', { on_connect_do => ['SET NAMES utf8'], }, ], );
[参考]
DBIx::Class と mysql で utf8 使うとき - klog
CLON - 2006/11/21 - DBIx::Class vs mysql vs UTF-8
(追記)
このあたりタイミングよく(?)catalyst-mlで流れてた
WaltherFinnidg this post has solved my problem
lgyielkxcolCHMmpW , [url=http://ibvnjebcehfz.com/]ibvnjebcehfz[/url], [link=http://aofziotmupqa.com/]aofziotmupqa[/link], http://pxmelvclfbaj.com/
2006-11-10
■ [DBIC]DBICのデバッグ

DBIC_TRACE=1としてからサーバを実行するとSQLのDumpを吐くようになる
sh系の場合
% export DBIC_TRACE=1 % ./script/myapp_server.pl
■ [DBIC]DBIx::Class::Relationship

- DBIx::Class::Relationship - search.cpan.orgがPod
- no titleがわかりやすかった
2006-11-09
■ [Catalyst][Helper][Model][DBIC]SchemaでCatalystでも34秒くらいでSchemaクラス生成

Catalyst::Helper::Model::DBIC::Schema - search.cpan.org
DBIx::Class::Schema::Loader で 34 秒くらいで Schema クラス生成 - IT戦記という記事があったけどそれのCatalystのHelper版.なかでは同様にDBIx::Class::Schema::Loaderを使ってる
% ./script/myapp_create.pl model DBIC DBIC::Schema myapp::Schema create=static dbi:mysql:myapp root create=static dbi:mysql:sandobox root exists "/Users/lapis/src/myapp/script/../lib/myapp/Model" exists "/Users/lapis/src/myapp/script/../t" Dumping manual schema for myapp::Schema to directory /Users/lapis/src/myapp/script/../lib ... Schema dump completed. created "/Users/lapis/src/myapp/script/../lib/myapp/Model/DBIC.pm" created "/Users/lapis/src/myapp/script/../t/model_DBIC.t"
lib/myapp/Model/DBIC.pm,t/model_DBIC.tとlib/myapp/Schema.pmに加えてlib/myapp/Schemaフォルダ内にSchemaファイルを自動生成してくれる
create=を指定するときは(もちろん)DBIx::Class::Schema::Loaderが必要.
またconnect_info argumentsを指定してやらないとエラーになる(Schema生成するんだから当然か).あとは実際の構成に合わせて修正してやればよい.Model/DBIC.pmのなかにサーバの設定が書き込まれるので必要に応じてmyApp.ymlに書き出すとかも
このコマンドを実行するだけでserver起動して下記のようにclassにアクセスできるようになる
[debug] Loaded components: .-----------------------------------------------------------------+----------. | Class | Type | +-----------------------------------------------------------------+----------+ | myapp::Controller::Root | instance | | myapp::Model::DBIC | instance | | myapp::Model::DBIC::Blog | class | | myapp::Model::DBIC::BlogComment | class | | myapp::Model::DBIC::Roles | class | | myapp::Model::DBIC::UserRoles | class | | myapp::Model::DBIC::Users | class | '-----------------------------------------------------------------+----------'
ちなみにcreate=dynamicを指定すると,DBIx::Class::Schema::LoaderでSchemaが生成される.myApp::Schemaをあらかじめ生成する必要もない.最初はDBIx::Class::Schema::Loaderで作っておいて,あとで作り直せばよい.あとで作成するときはmyApp::Schemaが上書きされなかったので,消してからhelperを実行した
[参考]