Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DBIx::Class::DynamicDeUsertContributed Perl DocuDBIx::Class::DynamicDefault(3)

NAME
       DBIx::Class::DynamicDefault - Automatically set and update fields

SYNOPSIS
	 package My::Schema::SomeTable;

	 __PACKAGE__->load_components(qw/DynamicDefault	... Core/);

	 __PACKAGE__->add_columns(
		 quux	       => { data_type => 'integer' },
		 quux_plus_one => { data_type => 'integer',
				    dynamic_default_on_create => \&quux_plus_one_default,
				    dynamic_default_on_update => 'quux_plus_one_default', },
		 last_changed  => { data_type => 'integer',
				    dynamic_default_on_create => 'now',
				    dynamic_default_on_update => 'now, },
	 );

	 sub quux_plus_one_default {
	     my	($self)	= @_;
	     return $self->quux	+ 1;
	 }

	 sub now {
	     return DateTime->now->epoch;
	 }

       Now, any	update or create actions will set the specified	columns	to the
       value returned by the callback you specified as a method	name or	code
       reference.

DESCRIPTION
       Automatically set and update fields with	values calculated at runtime.

OPTIONS
   dynamic_default_on_create
	 dynamic_default_on_create => sub { ...	}

	 dynamic_default_on_create => 'method_name'

       When inserting a	new row	all columns with the
       "dynamic_default_on_create" option will be set to the return value of
       the specified callback unless the columns value has been	explicitly
       set. The	callback, that'll be invoked with the row object as its	only
       argument, may be	a code reference or a method name.

   dynamic_default_on_update
	 dynamic_default_on_update => sub { ...	}

	 dynamic_default_on_update => 'method_name'

       When updating a row all columns with the	"dynamic_default_on_update"
       option will be set to the return	value of the specified callback	unless
       the columns value has been explicitly set.

       Columns will only be altered if other dirty columns exist. See
       "always_update" on how to change	this.

   always_update
	 always_update => 1

       When setting "always_update" to 1 "dynamic_default_on_update" callbacks
       will always be invoked, even if no other	columns	are dirty.

AUTHOR
       Florian Ragwitz <rafl@debian.org>

LICENSE
       This software is	copyright (c) 2008 by Florian Ragwitz.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as perl itself.

perl v5.24.1			  2012-04-14	DBIx::Class::DynamicDefault(3)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | AUTHOR | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=DBIx::Class::DynamicDefault&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help