代码之家  ›  专栏  ›  技术社区  ›  Robert Wohlfarth

为什么DBIx::Class::Schema::Loader不创建我的类?

  •  1
  • Robert Wohlfarth  · 技术社区  · 15 年前

    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 DBI 使用相同的ODBC连接。

    4 回复  |  直到 15 年前
        1
  •  3
  •   Jay Jarvinen    14 年前

    尝试添加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
  •  2
  •   Jason Lewis    11 年前

    我发现如果在模式加载过程中有任何错误,请使模式自动中止,而不编写任何内容。请确保诊断它输出的任何错误,然后重试。

    在我的例子中,我设置了debug=>1,然后将其输出到终端,但这意味着您无法轻松查看所有输出中是否存在任何错误。尝试设置debug=>0以检查实际错误。

        3
  •  0
  •   daxim Fayland Lam    15 年前

    我有预感 .\lib ./lib 或者只是 lib

    > perl -e'print ".\lib"' | hex
    0000  2e 69 62                                          .ib
    
        4
  •  0
  •   Dave Hodgkinson    8 年前

    我在提取模式时遇到了同样的问题(1200个表!)从Navision数据库。最后我只对我想要的表使用了“-o约束”。