2016-03-19 14 views
-1

DBIx::Class::Schema::Loaderを使用して、Oracleデータベースからスキーマを生成したいと考えています。 私のコードは以下の通りです。私の質問は、列情報なしでスキーマを生成する方法です。 私は列名がほしいのです。DBIx :: Class :: Schema :: Loaderを使用して列情報を持たないスキーマを生成する方法

#============== 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

私は追加情報があなたを引き起こしている問題を理解していません。あなたの質問の背景を教えてください。 – Borodin

+0

申し訳ありません。私が望む結果は単に列名です: __PACKAGE __-> add_columns( "partition_id"、column1、column2 .... blabla); { data_type => "numeric"、 is_nullable => 0、 元=> {data_type => "number"}、 サイズ=> [4,0]、 }などの列情報が不要です。 Borodin –

+1

このような情報を提供するには、[*あなたの質問を編集*]してください(http://stackoverflow.com/posts/36101277/edit)。私は今度あなたのためにそれをしました。そして、はい、私はあなたが求めていることを理解していますが、追加の列情報が何をしているのか不思議です。あなたはそれを無視できませんか?それはかなりの量のスペースを使用していない – Borodin

答えて

1

をしたくないです答えはあなたがそれをすることができないということです。もちろん、それは手でまたは自動的に

いずれかを実行するために些細なのですが、あなたがしたい理由あなたがについての詳細を説明していることができれば、私はDBIx/Class/Schema/Loader/Base.pmにソースを見てきたし、カラム情報の出力を無効にするオプションはありませんこれを行うと私はあなたを助けた可能性があると確信しています

関連する問題