1 package DBIx::Class::Schema::Journal::DB::AuditHistory;
3 use base 'DBIx::Class';
5 sub journal_define_table {
6 my ( $class, $source ) = @_;
8 $class->load_components(qw(Core));
10 $class->table($source->name . "_audit_log");
12 $class->add_column( audit_change_id => {
13 data_type => 'integer',
18 $class->set_primary_key("audit_change_id");
20 foreach my $column ( $source->columns ) {
21 my $info = $source->column_info($column);
23 my %hist_info = %$info;
25 delete $hist_info{$_} for qw(
32 $hist_info{is_nullable} = 1;
34 $class->add_column($column => \%hist_info);
37 $class->belongs_to('change', 'DBIx::Class::Schema::Journal::DB::ChangeLog', 'audit_change_id');
42 my ($self, $data, @rest) = @_;
43 my $source = $data->{-result_source};
47 changeset_id => $source->schema->current_changeset,
48 %{$data->{change}||{}},
51 $self->next::method($data, @rest);