並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 6 件 / 6件

新着順 人気順

dbixskinnyの検索結果1 - 6 件 / 6件

  • DBIx::Skinnyを使った際のPaging方法考察 - Hatena::Diary::Neko::kak 500 Internal Server Error

    DBIx::Skinnyにはネイティブにpagingをしてくれる便利機能はありません。 (最近ないないばっかり言ってるな) DBICとかだと$rs->pagerみたいにしてData::Pageのオブジェクトを返してくれるんですが、 Data::Pageのオブジェクトを作る際に、内部でcountを発行しています。 pagingするにはSQLにLIMIT/OFFSETをかけてると、思うのでLIMIT/OFFSETを掛けなかった際の トータルな件数を取るためですね。 結構このcountが馬鹿にならないくらい内部で発行されることがあるのでSkinnyではあえてサポートしなかったです。 あと、独自にSQLを書かせる事をお題目にあげているので、 独自に書かれたSQLを内部でごちゃごちゃしてcount発行するとかヤッテラレナイてのもあります。 ただ、アプリを作ってる時にpagingは必須なのでどうすれば

      DBIx::Skinnyを使った際のPaging方法考察 - Hatena::Diary::Neko::kak 500 Internal Server Error
    • DBIx::Skinnyを使った際のDBShardingの方法考察 - Hatena::Diary::Neko::kak 500 Internal Server Error

      DBIx::SkinnyはDBIへの薄いラッパーなので ネイティブにDBShardingをサポートはしていません。 また、Shardingに限らずSlaveに勝手につないだりしてくれる便利機能もありません。 ただ、ShardingとかSlaveにつないだりはしたくなる事が有ると思うので、 サンプルコードを書いてみました。 サンプルコードはgithubにあります。 http://github.com/nekokak/p5-dbix-skinny-sample ただ、この記事を書いている時点ではgithubがぶっ壊れてるぽくcloneできません。:( 無料で使わせていただいているので文句は言えませんが。 サンプルコードでは DBIx::ShardManagerをつかってみました。 http://svn.coderepos.org/share/lang/perl/DBIx-ShardManage

        DBIx::Skinnyを使った際のDBShardingの方法考察 - Hatena::Diary::Neko::kak 500 Internal Server Error
      • DBIx::Skinnyを使った際のCache方法考察 - Hatena::Diary::Neko::kak 500 Internal Server Error

        DBIx::SkinnyにはDODやData::Modelのようにキャッシュを透過的に扱う 便利機能はありません。 無いのでラッパーを書きませう。 毎度の事でデモは http://github.com/nekokak/p5-dbix-skinny-sample/tree/master/cache/ に置いてあります。 ユーザテーブルがあるとします。 CREATE TABLE user ( id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255) NOT NULL, UNIQUE(name) ); ユーザの情報をキャッシュからひけなければDBから引っ張って キャッシュしておき、次に使う時はキャッシュデータを使うという典型的なパターンです。 userテーブルの定義などはこのようにします。 今回はinflate/deflateも一緒にやってみ

          DBIx::Skinnyを使った際のCache方法考察 - Hatena::Diary::Neko::kak 500 Internal Server Error
        • Mojolicious::LiteでDBIx::Skinnyを使ってみた - 日曜プログラマのそゞろ事

          基本的には前記事と同じです。 私の観測範囲ではData::ModelよりもDBIx::Skinnyの方がよく使われているような気がしますが、テーブルとschemaを両方作る必要があるのがちょっと微妙に感じます。 DBIx::Skinny::Schema::Loaderというschemaを自動的に設定してくれるモジュールもあるので、それを使えば問題ないわけですが。 ORLiteの記事を見て「いいな」と思ったのは、テーブルの定義をするだけで使えるところでした。 あと、テーブル毎にクラスを自動的に作ってくれるようで、それも面白い機能だと思います。 しかし、Skinnyなどで言うconnect_optionsが設定(簡単に言えばsqlite_unicodeを有効に)できないため、日本語には対応できていません。 ORLite.pmのソースコードを書き換えてやればうまく動くのは確認済みですが

          • HTML::Shakan::Model::DBIxSkinny かいた - tokuhirom's blog

            チャチャっとウェブアプリケーション書くには DBIx::Skinny が便利だなとおもって、プライベートでは最近は DBIx::Skinny をメインでつかってる。DBIC とおなじ感覚で書けて、DBIC とちがってコードが可読であって、DBIC とちがっておしつけがましくないのが利点かとおもいます。 個人的には、DBIC の一番嫌な点はテーブル名に me というエイリアスをつけるところで、「イヤミか!」といいたくなります。 閑話休題。 HTML::Shakan という、form validation/form generator があるのですが、これに DBIx::Skinny との連携機能をいれました。これにより、Class::DBI::FromForm のようなかんじで、フォームバリデーションがすんだパラメータから DB に INSERT/UPDATE 文をぶっこめます。 便利です。

            • shipit DBIx::Skinny 0.04 - Hatena::Diary::Neko::kak 500 Internal Server Error

              DBIx::Skinnyの0.04を先ほどshipitしました。 今回の変更で、バックエンドのDBにPostgreSQLを利用することができるようになりました。 おいぬめさん、fujiwaraさんありがとうございます。 また、PODに結構なtypoがあるのを色々な方に指摘/直してもらいました。 ありがとうございます。 またDBIx::Skinny::Mixinというモジュールが追加されました。 これはDBIx::Skinnyをuseしたユーザモジュールにメソッドをexportさせる機能があります。 たとえば、DBIx::Class::FromSledge相当のことをしたい場合 package Proj::Model::Mixin::FromSledge; use strict; use warnings; use Carp; sub register_method { +{ create_

                shipit DBIx::Skinny 0.04 - Hatena::Diary::Neko::kak 500 Internal Server Error
              1