Как создать схему без информации о столбце (я просто хочу имена столбцов), используя DBIx::Class::Schema::Loader

Я хочу использовать 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 ответ

Без дополнительной информации я должен сказать, что ответ - вы не можете этого сделать. Я посмотрел на источник в DBIx/Class/Schema/Loader/Base.pm и нет возможности отключить вывод информации о столбце, хотя, конечно, тривиально сделать это вручную или автоматически

Если бы вы могли объяснить больше, почему вы хотите это сделать, то я уверен, что мы могли бы помочь вам

Другие вопросы по тегам