Когда-то давно я делал так: <a href="http://as-pushkin.blogspot.com/search/label/DBIC">http://as-pushkin.blogspot.com/search/label/DBIC</a> . Но в классы приходилось руками добавлять имя схемы в имя таблицы.<br><br><div class="gmail_quote">
27 ноября 2009 г. 16:48 пользователь Orlovsky Alexander <span dir="ltr">&lt;<a href="mailto:nordicdyno@yandex.ru">nordicdyno@yandex.ru</a>&gt;</span> написал:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Осваиваю DBIx::Class и захотелось мне сгенерить схему  DBIx::Class::Schema::Loader-ом из табличек, которые есть в БД (PostgreSQL)<br>
Делаю все по мануалу и у меня оно не работает почему-то. (вместе с SQLite работает, но мне то нужен PostgreSQL)<br>
<br>
Ситуация такая:<br>
В начале оно унутре себя делает первый страшный запрос (*приведен ниже), который (зачем то) выбирает  таблички:<br>
public.pg_freespacemap_pages<br>
public.pg_freespacemap_relations<br>
public.pg_buffercache<br>
а затем оно делает из них запросы вида:<br>
SELECT * FROM public.pg_buffercache WHERE ( 1 = 0 )<br>
и генерит схемку для этих таблиц<br>
вместо того чтобы генерить схемку из нужных мне таблиц из схемы к которой я коннекчусь.<br>
(при коннекте я указываю правильную базу и схему (не public ;)<br>
Че это оно?<br>
<br>
Запросы из: <a href="http://bytes.com/topic/postgresql/answers/172978-sql-command-list-tables" target="_blank">http://bytes.com/topic/postgresql/answers/172978-sql-command-list-tables</a><br>
работают нормально (для проверки запускал) и выдают список нужных мне таблиц.<br>
Все осложняется тем, что Postgress я не знаю, т.ч. вычленить проблему мне сложновато так вот сразу.<br>
<br>
Или может просто рисовать схему ручками при помощи DBIx::Class + DBIx::DBIx::Class::Schema - пойдя по пути наименьшего сопротивления? :) (а жалка! удобнее рисовать что-то в базке а потом оттуда выгружать, чем наоборот)<br>

<br>
Кто-нибудь вообще пользовался  DBIx::Class::Schema::Loader в свзяке с PgSQL ? :) А то я может не там спрашиваю :)<br>
<br>
P/S<br>
Страшный (для меня) запрос:<br>
<br>
SELECT NULL::text AS &quot;TABLE_CAT&quot;<br>
   , quote_ident(n.nspname) AS &quot;TABLE_SCHEM&quot;<br>
   , quote_ident(c.relname) AS &quot;TABLE_NAME&quot;<br>
   , CASE<br>
       WHEN c.relkind = &#39;v&#39; THEN<br>
          CASE WHEN quote_ident(n.nspname) ~ &#39;^pg_&#39; THEN &#39;SYSTEM VIEW&#39; ELSE &#39;VIEW&#39; END<br>
       ELSE<br>
          CASE WHEN quote_ident(n.nspname) ~ &#39;^pg_&#39; THEN &#39;SYSTEM TABLE&#39; ELSE &#39;TABLE&#39; END<br>
       END AS &quot;TABLE_TYPE&quot;<br>
   , d.description AS &quot;REMARKS&quot; , quote_ident(t.spcname) AS &quot;pg_tablespace_name&quot;<br>
   , quote_ident(t.spclocation) AS &quot;pg_tablespace_location&quot;<br>
   , n.nspname AS pg_schema<br>
   , c.relname AS pg_table<br>
      FROM pg_catalog.pg_class AS c<br>
        LEFT JOIN pg_catalog.pg_description AS d<br>
                ON (c.oid = d.objoid AND c.tableoid = d.classoid AND d.objsubid = 0)<br>
        LEFT JOIN pg_catalog.pg_namespace n ON (n.oid = c.relnamespace)<br>
        LEFT JOIN pg_catalog.pg_tablespace t ON (t.oid = c.reltablespace)<br>
    WHERE n.nspname = &#39;public&#39;<br>
      AND c.relname LIKE &#39;%&#39;<br>
      AND c.relkind IN (&#39;r&#39;,&#39;v&#39;)<br>
    ORDER BY &quot;TABLE_TYPE&quot;, &quot;TABLE_CAT&quot;, &quot;TABLE_SCHEM&quot;, &quot;TABLE_NAME&quot;<br>
<font color="#888888">--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Andrei Protasovitski<br>&lt; andrei[dot]protasovitski[at]gmail[dot]com &gt;<br>Diemen, Netherlands<br>