[Dbix-class] applying row level methods via Schema::Loader

Brandon Black blblack at gmail.com
Wed Jul 4 15:42:20 GMT 2007


On 7/3/07, apv <apv at sedition.com> wrote:
> I never got around to trying Schema::Loader till now. It's terrific.
> I swapped out 10 table classes or whatever with one and it works
> exactly as it should.
>
> The thing I want to still be able to do is apply a method to all the
> table classes, specifically a created field stamp of NOW(). I'm on an
> older mysql for this project so I can't use triggers. There are dates
> before the epoch so I'm using DATETIME. This is what I want to do--
>
> sub new {
>      my ( $class, $attrs ) = @_;
>      $attrs->{created} = \"NOW()" unless $attrs->{created};
>      $class->next::method($attrs);
> }
>

Check the DBIx::Class::Schema::Loader::Base docs, they have info on
adding additional custom base classes.  If you need to make one-off
mods to individual files, you can just edit the generated files
directly, below the md5sum line, and it will be preserved when you
regenerate the top half again (assuming 0.04001).

-- Brandon



More information about the Dbix-class mailing list