On 7/28/06 9:02 AM, Ritesh Errno wrote:
> I am following the canoical method of auto init like this -
>
> __PACKAGE__->meta->table("footable");
> __PACKAGE__->meta->auto_initialize;
>
> But it does not pick up the foreign keys, since the table -> class mapping
> does not follow the convention.
>
> I tried adding:
> __PACKAGE__->meta->foreign_key( ffkey => [ .......] )
>
> or
> __PACKAGE->meta->add_foreign_key
>
> resulting in various complaints in redefining methods or unknown methods.
Are you trying to add the foreign key before or after you call
auto_initialize()? If you call it before, it should work without warnings
since auto_initialize() should skip over any foreign key that already exists
and has the same column mappings as a foreign key it's trying to
auto-create. Can you post your table definitions?
> If you can suggest a way to do that it would really make my mapping modules
> auto-magical since I really would like to use auto_initialize.
Making a custom ConventionManager that is in sync with whatever naming
conventions you're using is the cleanest way to make auto-init "just work"
for your database, but it may be more work than manually tweaking your
classes with explicit calls to add_foreign_key() or whatever. It depends on
how many classes you have to auto-init.
-John
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Rose-db-object mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rose-db-object