I think you could possibly implement this as a component that wraps
update, delete, or insert and the use get_dirty_columns et al.

eg

sub update{
   my ( $self, $upd, @rest ) = @_;
   my %cols = $obj->get_dirty_columns;
   %cols = (%cols, %$upd) if( ref $upd );
   warn( "Updated: ". join(", ", keys %cols)  );
   $self->next::method($upd, @rest);
}

On 3/22/07, RA Jones <[EMAIL PROTECTED]> wrote:
Rob Kinyon wrote:
> On 3/22/07, RA Jones <[EMAIL PROTECTED]> wrote:
>> In my applications I frequently record in a log file which fields
>> were updated by which users. Is there an easy way in DBIC to find
>> out which fields got updated during an update() or
>> update_or_insert() action? Thanks.
>
> Look for the get_dirty_columns() method on the Row object.
Thanks, I had just scanned the DBIC::Row manual, and managed to miss
that one - is_changed() looked promising, but it appears to be only for
uncommitted changes.
--
Richard Jones
Leeds, UK
mailto:[EMAIL PROTECTED]

_______________________________________________
List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
Wiki: http://dbix-class.shadowcatsystems.co.uk/
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
Searchable Archive: http://www.mail-archive.com/[email protected]/


_______________________________________________
List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
Wiki: http://dbix-class.shadowcatsystems.co.uk/
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
Searchable Archive: http://www.mail-archive.com/[email protected]/

Reply via email to