我想使用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],
}
答案 0 :(得分:1)
如果没有更多信息,我将不得不说答案是你不能这样做。我已经查看了DBIx/Class/Schema/Loader/Base.pm
中的来源,并且没有禁用列信息输出的选项,尽管当然无论是手动还是自动执行都是微不足道的
如果你能解释更多关于为什么你想要做到这一点,那么我相信我们可以帮助你