Почему DBIx :: Class :: Schema :: Loader не создает мои классы? - PullRequest
1 голос
/ 19 мая 2010

Я пытаюсь создать статические схемы, используя DBIx :: Class в Perl. Команда, показанная ниже, выводит Schema.pm и никаких других файлов. Есть идеи, что я делаю не так, или как это отладить?

U:\wohlfarj\Software\PARS>perl -MDBIx::Class::Schema::Loader=make_schema_at,dump_to_dir:.\lib 
-e "make_schema_at('PARS::Schema',{debug=>1},['dbi:ODBC:PARS','user','password',{AutoCommit=>0}])"
Dumping manual schema for PARS::Schema to directory .\lib ...
Schema dump completed.

Я использую Strawberry Perl в Windows XP. База данных - SQL Server 2000, доступ к которой осуществляется через соединение ODBC. Я могу успешно выполнять запросы, используя обычный старый DBI с тем же соединением ODBC.

Ответы [ 4 ]

3 голосов
/ 16 февраля 2011

попробуйте добавить db_schema => "dbo" и odbc_exec_direct => 1, как в:

perl -MDBIx::Class::Schema::Loader=make_schema_at,dump_to_dir:.\lib -e "make_schema_at('PARS::Schema',{debug=>1, db_schema => "dbo"},['dbi:ODBC:PARS','user','password',{AutoCommit=>0, odbc_exec_direct => 1}])
2 голосов
/ 28 марта 2014

Я обнаружил, что если в загрузке схемы вообще есть какие-либо ошибки, make_schema_at прекратит работу и вообще ничего не напишет. Убедитесь, что вы диагностировали все ошибки, которые он выводит, и повторите попытку.

В моем случае я установил debug => 1, который затем выводит на терминал то, что он делает, но это означает, что вы не можете легко увидеть, есть ли какие-либо ошибки среди всего этого вывода. Попробуйте установить debug => 0, чтобы проверить наличие ошибок.

0 голосов
/ 07 октября 2016

У меня возникла та же проблема при попытке извлечь схему (1200 таблиц!) Из базы данных Navision. В итоге я использовал «-o ограничение» для таблиц, которые хотел.

0 голосов
/ 20 мая 2010

У меня есть догадка, что .\lib не правильно. Попробуйте еще раз с ./lib или просто lib.

> perl -e'print ".\lib"' | hex
0000  2e 69 62                                          .ib
...