Commit | Line | Data |
8273e845 |
1 | package # hide from PAUSE |
c6d74d3e |
2 | Log; |
ea2e61bf |
3 | |
4a233f30 |
4 | use warnings; |
5 | use strict; |
6 | |
ea2e61bf |
7 | use base 'MyBase'; |
8 | |
ea2e61bf |
9 | use Time::Piece::MySQL; |
247c80fb |
10 | use POSIX (); |
ea2e61bf |
11 | |
12 | __PACKAGE__->set_table(); |
13 | __PACKAGE__->columns(All => qw/id message datetime_stamp/); |
14 | __PACKAGE__->has_a( |
6a3bf251 |
15 | datetime_stamp => 'Time::Piece', |
16 | inflate => 'from_mysql_datetime', |
17 | deflate => 'mysql_datetime' |
ea2e61bf |
18 | ); |
19 | |
7305f6f9 |
20 | # Disables the implicit autoinc-on-non-supplied-pk behavior |
21 | # (and the warning that goes with it) |
22 | # This is the same behavior as it was pre 0.082900 |
23 | __PACKAGE__->column_info('id')->{is_auto_increment} = 0; |
24 | |
ea2e61bf |
25 | __PACKAGE__->add_trigger(before_create => \&set_dts); |
26 | __PACKAGE__->add_trigger(before_update => \&set_dts); |
27 | |
28 | sub set_dts { |
6a3bf251 |
29 | shift->datetime_stamp( |
30 | POSIX::strftime('%Y-%m-%d %H:%M:%S', localtime(time))); |
ea2e61bf |
31 | } |
32 | |
33 | sub create_sql { |
6a3bf251 |
34 | return qq{ |
ea2e61bf |
35 | id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, |
36 | message VARCHAR(255), |
37 | datetime_stamp DATETIME |
38 | }; |
39 | } |
40 | |
41 | 1; |
42 | |