This is quite puzzling!
$item-as_of( 2001-12-31 23:59:59 );
$params-{as_of} = 2005-05-05 05:05:05;
$form-process( item = $item, params = $params );
# here, $item-as_of is CURRENT_TIMESTAMP regardless!
We're wanting to keep the timestamp as-is, not
set-to-current-timestamp-upon-every-update.
Using HTML::FormHandler (v0.32005) to process the $form, it doesn't seem to
matter what we stuff into the $params-{as_of} field, or what we inject into
the $item-as_of() field itself, it gets set to current timestamp no matter
what. All suggestions and clue-sticks welcome.
In MyApp::Schema::DB::Result::MyTable we override the db field completely:
__PACKAGE__-add_columns('as_of',
{
# %{__PACKAGE__-column_info('as_of')},
data_type = 'timestamp',
datetime_undef_if_invalid = 1,
# default_value = \current_timestamp,
is_nullable = 0,
# set_on_create = 1,
# *set_on_update = 0*, # ignored wholesale from what we can tell
} );
So there's no set_on_create or set_on_update at all:
DB10 x $item-column_info('as_of')
0 HASH(0xd7d2538)
'_ic_dt_method' = 'timestamp'
'_inflate_info' = HASH(0xd7d8fd0)
'deflate' = CODE(0xd7d90d0)
-
DBIx::Class::InflateColumn::DateTime::__ANON__[/usr/local/share/perl/5.10.0/DBIx/Class/InflateColumn/DateTime.pm:190]
in /usr/local/share/perl/5.10.0/DBIx/Class/InflateColumn/DateTime.pm:185-190
'inflate' = CODE(0xd7d1e68)
-
DBIx::Class::InflateColumn::DateTime::__ANON__[/usr/local/share/perl/5.10.0/DBIx/Class/InflateColumn/DateTime.pm:184]
in /usr/local/share/perl/5.10.0/DBIx/Class/InflateColumn/DateTime.pm:169-184
'data_type' = 'timestamp'
'datetime_undef_if_invalid' = 1
'is_nullable' = 0
'name' = 'as_of'
Jane! How do I stop this crazy thing?! Pointers welcome.
On Tue, Jul 19, 2011 at 3:53 PM, will trillich
will.trill...@serensoft.comwrote:
Been using DBIx::Class (v0.08127) for a while now with Catalyst (v5.80032)
and Moose (v1.24), what a great suite of powerful libraries!
Question on how to turn OFF or DISABLE *set_on_update* tho:
__PACKAGE__-add_columns('as_of',
{
%{__PACKAGE__-column_info('as_of')},
set_on_create = 1,
# set_on_update = 0,
} );
The set_on_create is working as expected. The set_on_update seems to work
whether we specify 1 or 0 or leave the declaration out altogether.
Is there another setting somewhere that interferes?
--
Don't just accept the benefits of civilization -- add to it. Extend it.
Preserve it. -- Jeff Greason
--
Don't just accept the benefits of civilization -- add to it. Extend it.
Preserve it. -- Jeff Greason
___
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk