タグ

dbicとcatalystに関するbsheepのブックマーク (6)

  • DBIx::Class で sql_maker が生成した SQL をロギングする方法

    DBIC いろいろ使って検証を続けているのですが、O/R Mapper って当たり前だけど万能じゃぁないなぁ〜とすごく思う今日この頃。正直、リレーションとか張りまくってる場合、自前で JOIN とか View 定義して書いた方が遙かに効率の良い SQL が記述できる。 複雑な SQL を表現するには、O/R Mapper だと逆に見づらいなぁ〜と思ったり。 とはいえ、単純な SQL の場合はやはり便利。コードも見た目、OO っぽくてかっこいいし。 でも、どうにも解析できなかったことが一つ。DBIC しか見てないんですが、sql_maker が生成した SQL をロギングする方法がわかりません。なんかコードを深追いしていくと、 メンドウなので、モジュールにしてなくってとってつけたような感じで実現。たとえば、Catalyst だと MyApp.pm で use UNIVERSAL::requi

  • Catalyst/DBICでDigest認証する - 日向夏特殊応援部隊

    自分の為のメモですよ。 準備 まずはCatalystプロジェクトを作ります $ mkdir -p /path/to/dir $ cd /path/to/dir $ catalyst.pl AuthSample ユーザー用のDBICスキーマを定義します。 $ module-starter --module AuthSample::Schema $ cd AuthSample-Schemaでこのディレクトリにて、 CREATE TABLE user ( user_seq INTEGER PRIMARY KEY, user_id TEXT UNIQUE, password TEXT, created_on DATETIME, updated_on DATETIME ); こんなスキーマを定義して、schema.sqlとして保存して、 $ sqlite3 -init schema.sql auth

    Catalyst/DBICでDigest認証する - 日向夏特殊応援部隊
  • 2007/05/07 - memo - unknownplace.org

    書き忘れたけどさっきの update_schema.pl は ./script/myapp_update_schema.pl dbi:mysql:tablename username password 見たいな感じで DSN を渡す必要がある。めんどう。 ここら辺があれでまだヘルパーにはなってない。 mizzy.org : Re: DBICとDBIx::Class::Schema::Loader 僕のいろいろな勘違い 僕の中で流行ってる使い方があるのでかぶせて書いておいてみる。mizzy さんの二個目の例を自分ルール化させた感じ? 作業は一般的なCatalystアプリのディレクトリ構造上であるとして、そこに新しく schema というディレクトリを作成。 そんで、 schema/lib/Schema/{TableName}.pm に各テーブルのリレーション定義とかメソッドとかを自分で書く。

  • Schema::Loader with CatalystComments

    Catalyst::Model::DBIC::Schema を使う。 この Model は大きく3つの使いかたがある。 単純に既に存在する Schema クラスを使用するSchema::Loader で既存の DB から Schema クラスを生成し、それを使用するSchema::Loader で既存の DB から Schema::Loader クラスを生成し、それを利用する。 1 はまず Schema クラスをどこかに作ってあり(My::Schemaと仮定する)、それをそのまま Catalyst::Model として利用する。 ./script/myapp_create.pl model DBIC DBIC::Schema My::Schema で、MyApp::Model::DBIC が作成される。この My::Schema に connection なんかが定義されていてそれを使う場

  • CatalystでDBICを使っていてSELECT時にテーブルを結合(JOIN)する | ブログが続かないわけ

    前回の間違いを修正しました。 今回はCatalystでDBICを使う際、searchでjoinを実現する方法を説明します。 例アプリケーション名はMyApp。 ユーザー情報を格納しているUser というテーブルがあり、そこには都道府県がコードで格納されている。 都道府県はPref といテーブルにコード(pref_id)と都道府県名(pref_name)が1対1で対応している。 まず、model は下記のヘルパースクリプトで機械的に作っていますよ ね...?script/myapp_create.pl model DBIC DBIC DBI:mysql:mydb user passこれ(Catalyst::Model::DBIC)はあまり推奨されていないようですので、Catalyst::Model::DBIC::Schema を使うようにしましょう。script/myapp_create.p

    CatalystでDBICを使っていてSELECT時にテーブルを結合(JOIN)する | ブログが続かないわけ
  • Perl/DBIC - Nekokak's core dump

    VERSION-0.05000での記述。http://search.cpan.org/~mstrout/DBIx-Class/ ドキュメントも当初に比べれば増えてきたし、そっち見たほうがよかばい。 まあ以下は簡単なまとめで。一通り使えるくらいは書きたい。 このサイトはWikiなので途中途中に色々追加したり修正したりしますからご注意を DBIx::Class::Schemaを使ってみる これからDBICではSchemaメインらしい。 使うテーブル作成SQL create table user ( id int(10) NOT NULL auto_increment, name varchar(256) NOT NULL, PRIMARY KEY (id) ) ENGINE = InnoDB;

    bsheep
    bsheep 2007/04/06
    perl/DBICの基本的なことは全部書いてある風
  • 1