Hatena::Groupcatalyst

LAPISLAZULI HILL#Catalyst このページをアンテナに追加 RSSフィード

2008-01-18

[][]DBIC_NO_WARN_BAD_PERL=1 DBIC_NO_WARN_BAD_PERL=1 - LAPISLAZULI HILL#Catalyst を含むブックマーク はてなブックマーク - DBIC_NO_WARN_BAD_PERL=1 - LAPISLAZULI HILL#Catalyst DBIC_NO_WARN_BAD_PERL=1 - LAPISLAZULI HILL#Catalyst のブックマークコメント

ちょっと前に作って,使わずに箱に詰めてあったアプリを組み込みサーバで起動しようとしたらエラーが出た.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.

EdinhoEdinho2012/07/21 22:12I really cuodln't ask for more from this article.

rddiljlhgrddiljlhg2012/07/22 18:57EmvqmM <a href="http://yghmtxjpcyei.com/">yghmtxjpcyei</a>

ibyesceuckeibyesceucke2012/07/23 08:42Jtluz6 , [url=http://psrrwnemikyn.com/]psrrwnemikyn[/url], [link=http://erkzdnbccgzn.com/]erkzdnbccgzn[/link], http://rymusuiquues.com/

nvhjxgrnvhjxgr2012/07/24 08:09FsgFY1 <a href="http://wwdnqfunjmlu.com/">wwdnqfunjmlu</a>

トラックバック - http://catalyst.g.hatena.ne.jp/lapis25/20080118

2006-12-14

[][]Catalystでdbicロギング Catalystでdbicロギング - LAPISLAZULI HILL#Catalyst を含むブックマーク はてなブックマーク - Catalystでdbicロギング - LAPISLAZULI HILL#Catalyst Catalystでdbicロギング - LAPISLAZULI HILL#Catalyst のブックマークコメント

Catalyst アプリで DBIC が生成する SQL だけを見やすい形でログりたかったので、お二人の方法をまねしてみた。

http://blog.woremacx.com/2006/12/log-dbic-sql.html

を見てさっそくやってみた.DBI_TRACEと比べて日付や時間も残っていい感じ.残すならこっちがいいな

さらにネタ元をたどって見たらこんな記述もあった

でも、どうにも解析できなかったことが一つ。DBIC しか見てないんですが、sql_maker が生成した SQL をロギングする方法がわかりません。なんかコードを深追いしていくと、

DBIx::Class::Storage->debugfh とか DBI_TRACE

に行き着いちゃいます。でもよけいなデバッグ情報多すぎで使い物にならないので、ちょっとした Hack で実現。

http://www.drk7.jp/MT/archives/001094.html

いまは特に余計なデバッグ情報があるようには思えないんだけど前は違ったのかな?

[参考]

DBIC_TRACEをファイル書き出し - とあるlapis25の関係不全 - LAPISLAZULI HILL#Group

http://search.cpan.org/dist/DBIx-Class/lib/DBIx/Class/Manual/Troubleshooting.pod#Tracing_SQL

トラックバック - http://catalyst.g.hatena.ne.jp/lapis25/20061214

2006-11-29

[][][]mysql&utf-8での文字化け対策 mysql&utf-8での文字化け対策 - LAPISLAZULI HILL#Catalyst を含むブックマーク はてなブックマーク - mysql&utf-8での文字化け対策 - LAPISLAZULI HILL#Catalyst mysql&utf-8での文字化け対策 - LAPISLAZULI HILL#Catalyst のブックマークコメント

いや,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

D-5 出張版

CLON - 2006/11/21 - DBIx::Class vs mysql vs UTF-8

(追記)

このあたりタイミングよく(?)catalyst-mlで流れてた

WaltherWalther2012/10/31 13:03Finnidg this post has solved my problem

lgyielkxcollgyielkxcol2012/11/03 11:30CHMmpW , [url=http://ibvnjebcehfz.com/]ibvnjebcehfz[/url], [link=http://aofziotmupqa.com/]aofziotmupqa[/link], http://pxmelvclfbaj.com/

トラックバック - http://catalyst.g.hatena.ne.jp/lapis25/20061129

2006-11-10

[]DBICのデバッグ DBICのデバッグ - LAPISLAZULI HILL#Catalyst を含むブックマーク はてなブックマーク - DBICのデバッグ - LAPISLAZULI HILL#Catalyst DBICのデバッグ - LAPISLAZULI HILL#Catalyst のブックマークコメント

DBIC_TRACE=1としてからサーバを実行するとSQLのDumpを吐くようになる

sh系の場合

% export DBIC_TRACE=1
% ./script/myapp_server.pl

[]DBIx::Class::Relationship DBIx::Class::Relationship - LAPISLAZULI HILL#Catalyst を含むブックマーク はてなブックマーク - DBIx::Class::Relationship - LAPISLAZULI HILL#Catalyst DBIx::Class::Relationship - LAPISLAZULI HILL#Catalyst のブックマークコメント

トラックバック - http://catalyst.g.hatena.ne.jp/lapis25/20061110

2006-11-09

[][][][]SchemaでCatalystでも34秒くらいでSchemaクラス生成 SchemaでCatalystでも34秒くらいでSchemaクラス生成 - LAPISLAZULI HILL#Catalyst を含むブックマーク はてなブックマーク - SchemaでCatalystでも34秒くらいでSchemaクラス生成 - LAPISLAZULI HILL#Catalyst SchemaでCatalystでも34秒くらいでSchemaクラス生成 - LAPISLAZULI HILL#Catalyst のブックマークコメント

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を実行した

[参考]

The CPAN Search Site - search.cpan.org

2006/06/21 - memo - unknownplace.org

トラックバック - http://catalyst.g.hatena.ne.jp/lapis25/20061109