[英]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.