RT56175: allow tables to have a prefix
[dbsrgits/DBIx-Class-Journal.git] / lib / DBIx / Class / Schema / Journal / DB / AuditHistory.pm
CommitLineData
d27ed438 1package DBIx::Class::Schema::Journal::DB::AuditHistory;
2
34b144a0 3use base 'DBIx::Class::Core';
59c8adb5 4
5sub journal_define_table {
5b64dcdc 6 my ( $class, $source, $schema_class ) = @_;
59c8adb5 7
34b144a0 8 $class->table($source->name . '_audit_history');
59c8adb5 9
41daf590 10 $class->add_columns(
11 audit_history_id => {
12 data_type => 'integer',
13 is_nullable => 0,
14 is_primary_key => 1,
15 is_auto_increment => 1,
16 },
17 audit_change_id => {
18 data_type => 'integer',
19 is_nullable => 0,
20 is_foreign_key => 1,
21 },
22 );
23
34b144a0 24 $class->set_primary_key('audit_history_id');
59c8adb5 25
26 foreach my $column ( $source->columns ) {
27 my $info = $source->column_info($column);
28
29 my %hist_info = %$info;
30
31 delete $hist_info{$_} for qw(
32 is_foreign_key
33 is_primary_key
34 is_auto_increment
35 default_value
36 );
34b144a0 37
59c8adb5 38 $hist_info{is_nullable} = 1;
39
40 $class->add_column($column => \%hist_info);
41 }
34b144a0 42
5b64dcdc 43 $class->belongs_to(change => "${schema_class}::ChangeLog", 'audit_change_id');
59c8adb5 44}
d27ed438 45
d27ed438 461;