mla ha scritto:
I just finished getting the tutorial project working.
The thing I'm not clear on is this separation between lib/MyAppDB/
and lib/MyApp/Model/
The tutorial says:
"With Catalyst::Model::DBIC::Schema you essentially end up with two sets
of model classes (only one of which you write... the other set is
created automatically in memory when your Catalyst application
initializes). For this tutorial application, the important points to
The dbic classes can be written by hand (which I find easier), or
generated by the deploy method, and then hand-tuned.
remember are: you write the result source files in MyAppDB, but within
Catalyst you use the automatically created model classes in MyApp::Model."
So using DBIC::Schema, I would never create anything within the
lib/MyApp/Model directory, other than the MyAppDB.pm module?
In MyApp/Model I usually have only MyAppDB.pm, which role is to expose
the DBIC::Schema classes under MyAppDB/ as a catalyst model.
This doesn't mean however that "I would never create anything" else. If
all I need is one dbic schema, then the answer to your question is "yes".
On the other hand, if I need for example to access two databases, then I
could have another dbic-schema folder (e.g. lib/MyAppDB2) and another
model class (lib/MyApp/Model/MyAppDB2.pm) to expose it to cat like the
first one.
Or I could have some other type of data that don't live in a database or
that I can't/don't want to access via dibc-class. In this case I could
write some classes under lib/MyApp/Model that directly access that data,
or better yet, have a set of classes (not tied to Catalyst) that deal
with the data and expose them as a cat model via one or more wrapper
class(es) (e.g. lib/MyApp/Model/ExtData.pm).
All the real models live in lib/MyAppDB? And if I wanted to use a
model *outside* catalyst, I'd use MyAppDB::Book, but within
catalyst it would be MyApp::Book?
Is this how most of you structure your projects? Is there a way
to get the real models in lib/MyApp/Model?
Thanks.
_______________________________________________
List: Catalyst@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/
Also, what do you mean by "real" models ?
Just my 2 cents.
HTH
--
Marcello Romani
Responsabile IT
Ottotecnica s.r.l.
http://www.ottotecnica.com
_______________________________________________
List: Catalyst@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/