On 23 Oct 2006 02:59:30, Randal L. Schwartz <[email protected]> wrote:
> If I recall correctly what John IM'ed me one day, once ->make_classes is
> called, the meta data has already been "used" to create everything else that
> is interesting. You'll need to "initialize" again the parts of anything you
> change that the meta-data might have affected
Right. Class setup is a two-step process.
1. Add the metadata.
2. Make methods and stuff based on that metadata.
If you go back to step 1, you then have to also do step 2 again. If
you don't, then all you've done is altered the metadata, and not the
methods that (should be) made from it.
If you do step 2 more than once, however, you will probably need to
pass a flag that tells RDBO what to do when it finds itself recreating
a method that already exists. The choices are: die, overwrite the old
method, or preserve the old method. Check the docs for initialize(),
make_methods(), and friends to see relevant the flag names.
On 10/23/06, Ask Bjørn Hansen <[EMAIL PROTECTED]> wrote:
> $col->default('now') gets written out correctly in the class
> definition, but changes to $meta->alias_column and
> cached_objects_expire_in (and probably others) do not.
Hm, that may yet be a bug. But try re-initializing after you mess
with the metadata, or use the pre_ or post_init_hook parameters to
make_classes() to mess with the metadata inside the call to
make_classes().
If you still can't get it to work, post a small, self-contained
reproduction of the bug and I'll look into it.
> So what you'll want is to figure out what shouldn't be initialized
> before you patch meta, then patch meta, then finally call *those*
> initialize methods.
That's one approach, yes, but as I said above, you can also
re-initialize() the entire class. You just have to choose one of the
non-fatal policies for what to do when conflicts are encountered.
-John
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Rose-db-object mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rose-db-object