タグ

dbとperlに関するbsheepのブックマーク (5)

  • つくるぶガイドブログ: Catalyst Jifty::DBIの組み合わせを試してみる

    こんにちは、Perl担当の西山です。 PerlにはたくさんのDBアクセス用のモジュールが用意されていますが、 皆さんはどのDBアクセスを使用していますか? 最近ではDBIx::Class(通称DBIC)がデファクトと呼ばれていますね。 ある程度長くPerlを使っている人だとClass::DBI(通称CDBI)に手馴れていて 今でも使っているケースもあると思います。 あとはSix Apartの社内標準モジュールとして開発・公開されている Data::ObjectDriverもありますね。 Jifty::DBIとは 数あるDBモジュールの中でも個人的に気になっているモジュールがありまして、 それがJifty::DBIです。 DSLを駆使しててかっこいい、独創的、奇抜、変態、などなどと賞賛されているWebアプリケーションフレームワーク「Jifty」と セットで開発されているDBアクセ

  • SQL::Abstract かしこす - daily dayflower

    以前「DBICで当に困ったら SCALAR REFERNCE を使え - daily dayflower」にて, DBIC で WHERE field1 IS NOT NULL な検索をしようと思って, …… $resultset->search({ field1 => \'IS NOT NULL' }); とか書いていたんですが, $resultset->search({ field1 => { '!=', undef } });でよかったのでした。 $resultset->search({ field1 => undef });が WHERE field1 IS NULLというのは知っていたんですが,'!=' をつけるときちんと「IS NOT NULL」に変換してくれるとは(SQL::Abstract の 714 行目あたりのロジックとしてちゃんとありました)。これでスカラーリファレ

    SQL::Abstract かしこす - daily dayflower
  • 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の基本的なことは全部書いてある風
  • DBIx::Class::Schema::Loader で 34 秒くらいで Schema クラス生成 - IT戦記

    既存 DB から以下のワンライナー一発で DBIx::Class の Schema が生成できる $ perl -MDBIx::Class::Schema::Loader=make_schema_at,dump_to_dir:./lib -e 'make_schema_at "Hoge::Schema", {relationships => 1, debug => 1}, ["dbi:mysql:hoge","user","password"]' やりかた。 まず、クラスを作りたいディレクトリ付近に移動 さっきのコマンドの dump_to_dir: の箇所にクラスツリーの起点となるディレクトリを指定 make_schema_at の第一引数に生成する Schema のパッケージ名を指定 外部キー制約とかを考慮して has_many とか belongs_to とかを自動で設定して欲しい場合

    DBIx::Class::Schema::Loader で 34 秒くらいで Schema クラス生成 - IT戦記
  • 1