[英]Why isn't DBIx::Class::Schema::Loader creating my classes?
我正在嘗試在Perl中使用DBIx :: Class生成靜態模式。 下面顯示的命令輸出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.
我在Windows XP上使用Strawberry Perl 。 該數據庫是SQL Server 2000,可通過ODBC連接訪問。 我可以使用具有相同ODBC連接的普通舊DBI成功運行查詢。
嘗試添加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}])
我發現,如果在架構加載中根本沒有任何錯誤,make_schema_at將中止並且根本不寫入任何內容。 確保診斷出它輸出的任何錯誤,然后重試。
在我的情況下,我設置了debug => 1,然后將其執行的操作輸出到終端,但這意味着您不容易看到所有輸出中是否有任何錯誤。 嘗試設置debug => 0來檢查實際錯誤。
我預感.\\lib
是不正確的。 使用./lib
或僅使用lib
再試一次。
> perl -e'print ".\lib"' | hex
0000 2e 69 62 .ib
嘗試從Navision數據庫提取模式(1200個表!)時,我遇到了同樣的問題。 我最終只對想要的表使用了“ -o約束”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.