タグ

dbicに関するhide0414のブックマーク (16)

  • [O] DBICのリレーションシップ

    « TaskPadを使いながら作業作業 | トップページ | 新宿 磯善 » DBICのリレーションシップ [Perl] やっぱり、DBIx::Class::Relationshipを読み直すことにした。 こういうのをちゃんと理解しておかないと足をすくわれるし。 ちょっとづつ書いたら、何日もかかった。ションボリ。 まずは前提となるデータ こんな感じで、Authorテーブルと、Bookテーブルがあるとする。 ID | Name | Age ------------------ 1 | Fred | 30 2 | Joe | 32 ID | Author | Name -------------------- 1 | 1 | Rulers of the universe 2 | 1 | Rulers of the galaxy リレーションシップなしの場合 もしもリ

  • DBICでの簡単キャッシング - Hatena::Diary::Neko::kak 500 Internal Server Error

    DBICで簡単にお金が借りることができます(ちが まあ、面白くないのでやめておきますが、DBICは かなりパフォーマンスに気を使った設計なのは周知の事実なのでつが、 キャッシュを使うことでよりパフォーマンス向上が図れます。 例えば my $itr = $self->model('Member')->search({},{}); while (my $member = $itr->next) { warn $member->id; } $itr->reset; while (my $member = $itr->next) { warn $member->id; } こんな感じの処理があったとします。 Memberテーブルを二度処理するみたいな。 ちなみに同じオブジェクトを使う時は $itr->reset; こうしてやればイテレータがリセットされます。 この場合、2個のwhileのところでそ

    DBICでの簡単キャッシング - Hatena::Diary::Neko::kak 500 Internal Server Error
  • Hatena::Diary::Neko::kak 500 Internal Server Error

    MacBook Air 11インチ欲しい! ください 自分のトークの宣伝 http://blog.nekokak.org/show?guid=YoQmCv3X3xGA7lhooKD0CA こっちをみてね。 最近はてながけっこう重いので http://blog.nekokak.org/ こっちをベースにしようかなと思ったり思わなかったり。 まぁここのサーバもVPSで重かったりするんですけど。 というのをつくりました。 http://github.com/nekokak/p5-dbix-skinny-cache package Mock::Basic; use DBIx::Skinny setup => +{ dsn => 'dbi:SQLite:', username => '', password => '', connect_options => { AutoCommit => 1 },

    Hatena::Diary::Neko::kak 500 Internal Server Error
  • 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;

  • subtech - Bulknews::Subtech - [Plagger] Livedoor Reader Frontend

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    subtech - Bulknews::Subtech - [Plagger] Livedoor Reader Frontend
  • 101号室: [DBIx::Class][DBIC][perl] DBIx::Classで集約関数を使う

    DBIx::Classでの集約関数(sum,avg,max,min,count,...)の使い方 searchの第二引数のハッシュリファレンスに、selectとasを指定する。 selectには集約関数とその引数(普通の列が欲しければその名前も)、asにはそれにつける名前を指定。結果はget_column('名前')で得る。 (Schemaのadd_columnsで指定されてる名前ならget_columnは必要ない。) $resultset->search({ #where句の条件 }, { select => [ "列名", # nameという列が欲しければ "me.name" { 関数名 => '引数' }, # count(me.id)なら、 { count => 'me.id' } ], as => [qw/名前1 名前2/] # 例えばqw/ name count /, #必要な

  • Catalystグループ - LAPISLAZULI HILL#Catalyst - SchemaでCatalystでも34秒くらいでSchemaクラス生成

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    Catalystグループ - LAPISLAZULI HILL#Catalyst - SchemaでCatalystでも34秒くらいでSchemaクラス生成
  • http://kerolin.jspeed.jp/Computer/Linux/dbicmany061125.html

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 101号室: [DBIx::Class][DBIC][perl] DBIx::Classで複雑な関数を使う

    前の記事へ « [DBIx::Class][DBIC][perl] DBIx::Classで集約関数を使う | トップページ | [perl][google] Authen::GoogleAccount作った(GoogleAccountの認証API) 次の記事へ 2006年11月05日 [DBIx::Class][DBIC][perl] DBIx::Classで複雑な関数を使う ブログが続かないわけ | DBIC でSELECT時に複雑な関数を使いたい(例、年齢計算) birth というカラムに生年月日が入っているとすると、SQLはこんな感じになります。 SELECT user_name, birth, (YEAR(CURDATE())-YEAR(birth)) - (RIGHT(CURDATE(),5)<RIGHT(birth,5)) as age FROM user_prof

  • DBIC でスカラーリファレンスを使え | ブログが続かないわけ

    以前のエントリでも紹介しましたが、DBICでSQLの関数を使うときはスカラーリファレンスが活用できます。そのエントリでは、INSERTやUPDATEのときにスカラーリファレンスを使う例を示しましたが、SELECTのときにも同じことがいえます。 前回のSELECT時に複雑な関数を使うということも、このスカラーリファレンスを使えばできるということを教えて頂きました。 [DBIx::Class][DBIC][perl] DBIx::Classで複雑な関数を使う:101号室より愛をこめて 前回のコードの下記部分は{ ' ' => '( YEAR( CURDATE() ) - YEAR( birth ) ) - ( RIGHT( CURDATE(), 5 ) < RIGHT(birth, 5 ) )' }, 下記のように書けます。¥ "(YEAR(CURDATE())-YEAR(birth)) -

    DBIC でスカラーリファレンスを使え | ブログが続かないわけ
  • DBICで本当に困ったら SCALAR REFERNCE を使え - daily dayflower

    追記 2006/12/06 下記で IS NOT NULL を実現するのにスカラーリファレンスを使用していますが,IS NULL / IS NOT NULL を出すためには必ずしもスカラーリファレンスを利用する必要はありません。ということで訂正を入れようと思ったんですがちょっと長いので「フォローアップ記事」を書きました。 題 typester さんに以前教えて頂いたんですが,似たようなことに今日遭遇したのでメモ。 WHERE field1 IS NOT NULL な検索をしようと思って, $resultset->search({ field1 => 'IS NOT NULL' });と書くと,内部的には SELECT ... WHERE field1 = ?と展開されて,プレースホルダに「IS NOT NULL」が渡されるので,バツ。 $resultset->search({ field

    DBICで本当に困ったら SCALAR REFERNCE を使え - daily dayflower
  • Elementary, ... 最近のコネタ

    この前の仕事からTipsをダンプ... Catalyst x Lighttod の時、Catalyst は 5.7004 以上必須 Shibuya.pm の typester さんの話で感化されたのもあって採用した Lighty、イイ。シンプルに言われたことだけをこなしてくれる感じ。 で、Catalyst を Lighty で動かすときは Catalyst 5.7004 以上が必須なんすね。でないと、SCRIPT_NAME などの環境変数のバグから、http://example.com/foo/ と http://example.com/foo のように最後にスラッシュが付く付かないで実行されるアクションが変わってしまう。なので今後はアプリケーションクラスにすぐ use Catalyst::Runtime '5.7004'; と書くことにした。 Lighty、UploadProgressは

  • Catalyst::Manual::Tutorial::CatalystBasics

    NAME Catalyst::Manual::Tutorial::CatalystBasics - Catalyst Tutorial - Part 2: Catalyst Application Development Basics OVERVIEW This is Part 2 of 9 for the Catalyst tutorial. Tutorial Overview Introduction Catalyst Basics Basic CRUD Authentication Authorization Debugging Testing Advanced CRUD Appendices DESCRIPTION In this part of the tutorial, we will create a very basic Catalyst web application.

    Catalyst::Manual::Tutorial::CatalystBasics
  • ウェブリブログ:サービスは終了しました。

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

    ウェブリブログ:サービスは終了しました。
  • DBIx::Class::Schema::Loader::Oracle 作りました

    DBIx::Class::Loader::Oracle 作りました(多分ちゃんと動いてる・・・)」で書きましたが、今の主流?は DBIx::Class::Loader ではなくて DBIx::Class::Schema::Loader を使うらしい。 ってことで、DBIx::Class::Loader::Oracle の他に DBIx::Class::Schema::Loader::Oracle も作りました。結構、中の作り方が違うので苦労しました。一応動作確認済みですが、_load_relationships 周りの試験をあまりしてないので、当に version 0.01 って感じ。 ダウンロードはこちら → DBIx-Class-Schema-Loader-Oracle-0.01.tar.gz 話は変わって、何って言うかやっぱりオープンソース全盛期の今ってデータベースも MySQL

  • 1