人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PerlのフレームワークCatalystについての質問です。
http://naoya.dyndns.org/~naoya/mt/archives/001682.html
を参考に、最新のCatalyst5.7007で作ってみたところ、
$ script/ndo_tinyurl_create.pl model CDBI CDBI DBI:mysql:tinyurl nobody nobody
を入力した際に、
---
exists "/home/foo/NDO-TinyURL/script/../lib/NDO/TinyURL/Model"
exists "/home/foo/NDO-TinyURL/script/../t"
created "/home/foo/NDO-TinyURL/script/../lib/NDO/TinyURL/Model/CDBI.pm"
created "/home/foo/NDO-TinyURL/script/../lib/NDO/TinyURL/Model/CDBI"
---
となり、Urlmap.pm, cdbi_urlmap.tが生成されません。
そして、そのまま続けると、
$ script/ndo_tinyurl_server.pl
と、サーバを起動しようとしたところで、
---
Use of uninitialized value in hash element at /usr/local/share/perl/5.8.8/Class/DBI/Loader/Generic.pm line 77.
Couldn't instantiate component "NDO::TinyURL::Model::CDBI", "Can't call method "db_Main" on an undefined value at /usr/local/share/perl/5.8.8/Class/DBI/Loader/mysql.pm line 43.
at ./script/ndo_tinyurl_server.pl line 53" at ./script/ndo_tinyurl_server.pl line 53
Compilation failed in require at ./script/ndo_tinyurl_server.pl line 53.
---
と表示されてしまいます。(サーバが起動しません)

urlmapテーブルに対応したクラスが作られていないのが原因だと思うのですが、
なぜクラスが作られないのでしょうか?

perl 5.8.8, mysql 5.0.37です。

●質問者: imsut
●カテゴリ:コンピュータ インターネット
✍キーワード:AT Catalyst CDBI Class DBI
○ 状態 :キャンセル
└ 回答数 : 1/1件

▽最新の回答へ

1 ● ablabo

$ script/ndo_tinyurl_create.pl model CDBI CDBI DBI:mysql:tinyurl nobody nobody

"create database tinyurl"でtinyurl"データベース"を作成されましたか?


$ script/ndo_tinyurl_create.pl model CDBI CDBI DBI:mysql:tinyurl nobody nobody

の例だとGenerics.pmはtinyurlデータベースに含まれる全てのテーブル情報を取得し、クラスを自動作成します。

たとえばsampleデータベースの中にaaa, bbb, cccというテーブルを作成し

$ script/ndo_tinyurl_create.pl model CDBI CDBI DBI:mysql:sample nobody nobody

としてヘルパースクリプトを実行させると、aaa, bbb, cccと、tinyurlデータベースに含まれる全てのテーブルのクラスを作成します。


ですのでtinyurlデータベースがあるかの確認と、その中にurlmapテーブルが存在するかの確認をしてみては。


generics.pmについては以前ブログに書いたのでよかったら(ABラボラトリ -初めてのPerl勉強中- - Catalystで使用テーブルを明示的に指定しない理由)。


それでも駄目なようでしたら、Catalyst の Catalyst::Helper::Model::CDBI でいつもハマる・・・orz :: Drk7jpこちらの記事の「その2」からの解決法を試してみてください。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ