2016-03-19 15 views
-1

Oracle veritabanından şema oluşturmak için DBIx::Class::Schema::Loader kullanmak istiyorum. Kodum aşağıda. Sorum şu: sütun bilgisi olmadan şemayı nasıl oluşturabilirim. Sadece sütun isimlerini istiyorum.Sütun bilgisi olmadan şema oluşturma (yalnızca sütun adlarını istiyorum) DBIx :: Sınıf :: Şema :: Yükleyici

#============== 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], 
    }, 

istediğim sonuç sadece

use warnings; 

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

ben söylemek zorunda gidiyorum artık bilgi olmadan sütun bilgisi gibi

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

Hangi sorunun size yol açtığını anlayamıyorum. Sorunuza biraz arka plan verebilir misiniz lütfen? – Borodin

+0

üzgünüm. İstediğim sonuç sadece sütun adı: __PACKAGE __-> add_columns ("partition_id", column1, column2 .... blabla); Böyle sütun bilgi istemiyordum { veri_türü =>, "sayısal" is_nullable => 0, N => {veri_türü => "sayı"} boyutu => [4, 0], } @ Borodin –

+1

Lütfen böyle bir bilgi vermek için [* sorunuzu düzenleyin *] (http://stackoverflow.com/posts/36101277/edit). Bu sefer senin için yaptım. Ve evet, ne istediğini anlıyorum, ama ek sütun bilgilerinin ne yaptığını merak ediyorum. Bunu görmezden gelemez misin? Önemli bir miktarda boşluk kullanmıyor – Borodin

cevap

1

istemiyorum Cevap, bunu yapamazsın. Ben DBIx/Class/Schema/Loader/Base.pm yılında kaynağında inceledik ve hakkında daha açıkladım olsaydı istediğiniz neden elbette elle veya otomatik olarak

ya yapılacak önemsiz olsa sütun bilgilerinin çıktısını devre dışı bırakmak için bir seçenek, orada Bunu yaptıktan sonra size yardımcı olabileceğimize eminim

İlgili konular