[Catalyst] strange namespace behavior for dbic : schema
Guy Debord
situationist at gmail.com
Thu Jun 7 21:40:00 GMT 2007
Matt et al,
All of my models -- such as TMP::Model::Foo -- created by the helper
-- use DBIC::Schema as a base class and are configured to use
TMP::Schema as their schema_class.
Each model that I created through the helper ends up creating classes
in the namespace, one for each table in my database prefixed by that
model's name.
So for example, here are some classes
TMP::Model::Foo::Foo
TMP::Model::Bar::Bar
TMP::Model::Foo::Table1 .. Table100
Same for Bar, and everything else.
TMP::Model::Foo, Bar etc exist individually as instances.
IN terms of accessing the recordsets, $c->model("Foo::Foo") and
$c->model("Bar::Foo") return the same object.
$c->model("Foo") doesn't return anything.
To create the models, I first used:
tmp_create.pl model Bar DBIC::Schema TMP::Schema create=static connect_info
and then subsequent models Foo, etc, I created leaving off create=static.
any pointers would be appreciarted.
On 6/7/07, Matt S Trout <dbix-class at trout.me.uk> wrote:
> On Thu, Jun 07, 2007 at 11:35:00AM -0500, Guy Debord wrote:
> > Using the helpers, I created a Model Bar
> >
> > tmp_server lists all of its classes and instances like such...
> >
> > | TMP::Model::Bar | instance |
> > | TMP::Model::Bar::Bar | class |
> > | TMP::Model::Bar::HeHe | class |
> > | TMP::Model::Bar::HaHa | class |
> >
> > This continues for every table in the schema. Each has a prefix of Bar.
> >
> > if I create another model using the helper, called Foo, with the same
> > schema object, it repeats. Every table in the schema, prefixed with
> > Foo.
>
> You only need one DBIC::Schema model per DBIx::Class::Schema class - try
> calling it Model::DB or something and then just use ->model('DB::Foo'),
> ->model('DB::Bar') etc.
>
> --
> Matt S Trout Need help with your Catalyst or DBIx::Class project?
> Technical Director Want a managed development or deployment platform?
> Shadowcat Systems Ltd. Contact mst (at) shadowcatsystems.co.uk for a quote
> http://chainsawblues.vox.com/ http://www.shadowcatsystems.co.uk/
>
> _______________________________________________
> List: Catalyst at lists.rawmode.org
> Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/
> Dev site: http://dev.catalyst.perl.org/
>
More information about the Catalyst
mailing list