.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "DBIx::Class::TimeStamp 3pm" .TH DBIx::Class::TimeStamp 3pm 2024-03-05 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME DBIx::Class::TimeStamp \- DBIx::Class extension to update and create date and time based fields .SH DESCRIPTION .IX Header "DESCRIPTION" Works in conjunction with InflateColumn::DateTime to automatically set update and create date and time based fields in a table. .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& package My::Schema; \& \& _\|_PACKAGE_\|_\->load_components(qw( TimeStamp ... Core )); \& \& _\|_PACKAGE_\|_\->add_columns( \& id => { data_type => \*(Aqinteger\*(Aq }, \& t_created => { data_type => \*(Aqdatetime\*(Aq, set_on_create => 1 }, \& t_updated => { data_type => \*(Aqdatetime\*(Aq, \& set_on_create => 1, set_on_update => 1 }, \& ); .Ve .PP Now, any update or create actions will update the specified columns with the current time, using the DateTime inflator. .PP This is effectively trigger emulation to get consistent behavior across databases that either implement them poorly or not at all. .SH METHODS .IX Header "METHODS" .SS get_timestamp .IX Subsection "get_timestamp" Returns a DateTime object pointing to now. Override this method if you have different time accounting functions, or want to do anything special. .PP The date and time objects in the database are expected to be inflated. As such you can be pretty flexible with what you want to return here. .SH AUTHOR .IX Header "AUTHOR" J. Shirley .SH CONTRIBUTORS .IX Header "CONTRIBUTORS" Florian Ragwitz (Porting to DBIx::Class::DynamicDefault) .PP LTJake/bricas .SH "COPYRIGHT & LICENSE" .IX Header "COPYRIGHT & LICENSE" Copyright 2009 J. Shirley, all rights reserved. .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.