Commit | Line | Data |
d27ed438 |
1 | package DBIx::Class::Schema::Journal::DB::AuditLog; |
2 | |
30a4f241 |
3 | use base 'DBIx::Class'; |
4 | |
5 | sub journal_define_table { |
6 | my ( $class, $source ) = @_; |
7 | |
8 | $class->load_components(qw(Core)); |
9 | |
41daf590 |
10 | $class->table($source->name . "_audit_log"); |
30a4f241 |
11 | |
12 | $class->add_columns( |
13 | create_id => { |
14 | data_type => 'integer', |
15 | is_nullable => 0, |
16 | is_foreign_key => 1, |
17 | }, |
18 | delete_id => { |
19 | data_type => 'integer', |
20 | is_nullable => 1, |
21 | is_foreign_key => 1, |
22 | } |
23 | ); |
24 | |
25 | foreach my $column ( $source->primary_columns ) { |
26 | $class->add_column( $column => { %{ $source->column_info($column) } } ); |
27 | } |
28 | |
29 | $class->set_primary_key( $source->primary_columns ); |
30 | |
31 | $class->belongs_to('created', 'DBIx::Class::Schema::Journal::DB::ChangeLog', 'create_id'); |
32 | $class->belongs_to('deleted', 'DBIx::Class::Schema::Journal::DB::ChangeLog', 'delete_id'); |
33 | } |
d27ed438 |
34 | |
35 | 1; |