[Dbix-class] name collision
Jeremy J. Koch
jjkoch at gwi.net
Thu Jul 3 21:21:52 BST 2008
I have the luck of a table with a column named "source_name".
This of course results in a hilarious situation:
DBIx::Class::Row::get_column(): Can't fetch data as class method at (eval 6724)
Normally I would take the easy route and rename the column. Unfortunately
the schema is defined by a proprietary application I am integrating with so
this is not an option. The only solution I could come up with was to omit
"source_name" column from the schema class. Then to use +select with +as
resultset attributes to specify an a different name for the column.
Any thoughts? Have I overlooked a simpler solution?
Thank you,
-Jeremy
---
package MyApplication::Schema::TableName;
use strict;
use warnings;
use base 'DBIx::Class';
__PACKAGE__->load_components("Core");
__PACKAGE__->table("TableName");
__PACKAGE__->add_columns(
"session_id",
{
data_type => "int identity",
default_value => undef,
is_nullable => 0,
size => 10,
},
"created_date",
{ data_type => "datetime", default_value => 3, is_nullable => 0, size => 23 },
"source_name",
{
data_type => "varchar",
default_value => undef,
is_nullable => 0,
size => 255,
},
);
More information about the DBIx-Class
mailing list