如何使用DBIx :: Class :: Schema :: Loader生成没有列信息的模式(我只想要列名)

时间:2016-03-19 11:44:54

标签: perl dbix-class

我想使用DBIx::Class::Schema::Loader从Oracle数据库生成架构。 我的代码如下。我的问题是如何生成没有列信息的架构。 我只想要列名。

#============== generate code =================
use strict;
use warnings;
use utf8;

use DBIx::Class::Schema::Loader qw/ make_schema_at /;
make_schema_at(
    'My::Schema',
    { debug => 1,
        skip_relationships => 1,
        skip_load_external  => 1,
      dump_directory => './lib',
      constraint => qr/\ATF_F_.*\z/,
      generate_pod => '0',
    },
    [ 'dbi:Oracle:test', 'test', 'test',
    ],
);


#========= result TfFUser.pm=================
use warnings;

use base 'DBIx::Class::Core';
__PACKAGE__->table("TF_F_USER");
__PACKAGE__->add_columns(
  "partition_id",
  {
    data_type => "numeric",
    is_nullable => 0,
    original => { data_type => "number" },
    size => [4, 0],
  },

我想要的结果只是

use warnings;

use base 'DBIx::Class::Core';
__PACKAGE__->table("TF_F_USER");
__PACKAGE__->add_columns( "partition_id", column1, column2, ...

我不想要列信息,例如

  {
    data_type => "numeric",
    is_nullable => 0,
    original => { data_type => "number" },
    size => [4, 0],
  }

1 个答案:

答案 0 :(得分:1)

如果没有更多信息,我将不得不说答案是你不能这样做。我已经查看了DBIx/Class/Schema/Loader/Base.pm中的来源,并且没有禁用列信息输出的选项,尽管当然无论是手动还是自动执行都是微不足道的

如果你能解释更多关于为什么你想要做到这一点,那么我相信我们可以帮助你