モンスターカレンダー

« 2004年9月 »
123456789101112131415161718192021222324252627282930

2004年9月11日アーカイブ

DB_DataObjectをアップグレードしたら、CreateTable.phpがエラーになってしまい、テーブル定義の自動生成ができない。
1.5.3 より上の、1.6, 1.7ともだめだった。
Webでの検索にもエラーはひっかかってこない。

しばらく放置しておいたが、いつまでも古いままというのも情ない。じっくり調べてみた。

エラー:
db_dataobject_generator : 0 : CREATING FOR test

[db_error: message="DB Error: insufficient data supplied" code=-20 mode=return level=notice prefix="" info="SELECT c.relname as "Name"
FROM pg_class c, pg_user u
WHERE c.relowner = u.usesysid AND c.relkind = 'r'
AND not exists (select 1 from pg_views where viewname = c.relname)
AND c.relname !~ '^pg_'
UNION
SELECT c.relname as "Name"
FROM pg_class c
WHERE c.relkind = 'r'
AND not exists (select 1 from pg_views where viewname = c.relname)
AND not exists (select 1 from pg_user where usesysid = c.relowner)
AND c.relname !~ '^pg_' [nativecode=ERROR: relation "sql_features" does not exist]"]

その辺りのソースを見てみたり、iniファイルに何か設定すべきものが増えているのか?と最新のexample.iniを見てみたり(実際増えていたが、この現象とは関係ないものだった)。

ふと、「DB」パッケージをアップグレードしてみたらどうだろうか。。との考えが浮かんだ。
1.6.4(だと思う。。。もしかしたら1.6.2だったかも)→1.6.5へ。

で、実行してみたら、あっさり通ってしまいました。
そんなことだったのかぁぁぁぁ。

現在は DB_DataObject : 1.7.2 となりました。

=======================================

おまけ。iniファイルに、viewの定義も生成してくれる build_views という項目が増えていたので、1を設定してやってみた。
。。。が、エラーとなった。

エラー:

db_dataobject_generator : 0 : CREATING FOR test

[db_error: message="DB Error: insufficient data supplied" code=-20 mode=return level=notice prefix="" info="SELECT viewname FROM pg_views [nativecode=ERROR: relation "table_constraints" does not exist]"]

これも、そのうち。。。。