[Catalyst] Re: loading data types from Oracle DB with DBIx::Class::Schema::Loader

Zbigniew Lukasiak zzbbyy at gmail.com
Thu Feb 12 09:42:47 GMT 2009


On Wed, Feb 11, 2009 at 1:47 PM, Karl Forner <karl.forner at gmail.com> wrote:
> I believe I fixed the problem (cf my post "bug found in and tentatively
> fixed in DBIx::Class::Schema::Loader::DBI::Oracle::_tables_list" in the dbix
> mailing list").
>
> Here's a copy :
>>
>> We had a problem because DBIx::Class::Schema::Loader did not get the
>> column_info for our Oracle database : no data_types, is_nullable, default
>> etc.. attributes were set.
>> We traced the problem down to DBIx::Class::Schema::Loader::
>> DBI::Oracle::_tables_list, that changed the table names to lowercase.
>>
>> So just commenting the line  69 : $table = lc $table;
>> seems to fix the problem.
>>
>> The test is either to call the _tables_list and check the table names,
>> or to create a schema on a n oracle db using
>> DBIx::Class::Schema::Loader::make_schema_at, and to check that the generated
>> DBIx::Class objects have
>> the column attributes such as    data_type,  default_value , is_nullable ,
>> size etc...
>>
>>
>> Here are some details:
>> DBIx::Class::Schema::Loader $VERSION = '0.04004'
>>  perl, v5.8.8 built for i486-linux-gnu-thread-multi
>>
>> diff:
>> --- Oracle.pm    2009-02-11 13:35:08.000000000 +0100
>> +++ Oracle.pm.fixed    2009-02-11 13:35:04.000000000 +0100
>> @@ -66,7 +66,7 @@
>>          $table =~ s/\w+\.//;
>>
>>          next if $table eq 'PLAN_TABLE';
>> -        $table = lc $table;
>> +        # $table = lc $table; # removed by kf

Hmm - it was just the first version of that code that I worken on -
but I remember that there some problems when the metadata was saved
under a hash key different from the table name, because it is referred
in other places.   Not that I am sure it applies here - but this might
be something you should  check.



-- 
Zbigniew Lukasiak
http://brudnopis.blogspot.com/
http://perlalchemy.blogspot.com/



More information about the Catalyst mailing list