[Dbix-class] inflate_column and sql_maker->quote_char/name_sep

Brandon Black blblack at gmail.com
Thu Mar 2 20:27:33 CET 2006


On 3/2/06, Bernhard Graf <dbic at augensalat.de> wrote:
> Matt S Trout wrote:
>
> > > use base 'DBIx::Class::Schema';
> > > __PACKAGE__->load_classes;
> > > __PACKAGE__->storage->sql_maker->quote_char('`');
> > > __PACKAGE__->storage->sql_maker->name_sep('.');
> > >
> > > ?
> > >
> > > This gives me:
> > >
> > > Can't call method "sql_maker" on an undefined value at
> > > TDW/Schema.pm line 10. Compilation failed in require at app.pl line
> > > 6.
> > > BEGIN failed--compilation aborted at app.pl line 6.
> >
> > Ah. Storage isn't initialised unril you call connect/connection, as
> > noted in the DBIx::Class::Schema docs. Should have mentioned that,
> > sorry.
>
> I'm really confused now.
> What do you mean with "isn't initialised"? Undefined?
>
> Does that mean, that in my application code I have to call
> my $schema = CLASS->connect()
> first and then
> $schema->storage->sql_maker->quote_char('`');
> $schema->storage->sql_maker->name_sep('.');
> ?
>
> What about $schema->storage->on_connect_do() then?
> Looks like a hen-egg problem...

Are those sql_maker settings generic to MySQL in general?  We could
put them in Storage/DBI/Mysql.pm in -current.

-- Brandon



More information about the Dbix-class mailing list