diff --git a/lib/DBIx/Class/Schema.pm b/lib/DBIx/Class/Schema.pm index 4c3cce50e..8d2fe0561 100644 --- a/lib/DBIx/Class/Schema.pm +++ b/lib/DBIx/Class/Schema.pm @@ -1159,6 +1159,27 @@ sub create_ddl_dir { $self->storage->create_ddl_dir($self, @_); } +=head2 output_files + +=over 4 + +=item Arguments: $file + +=item Return Value: $file1, $file2, ... + +=back + +Returns names of files that were written to by the L method. + +=cut + +sub output_files { + my $self = shift; + my $of = $self->{output_files} ||= []; + push @$of, @_ if defined $file; + return @$of; +} + =head2 ddl_filename =over 4 diff --git a/lib/DBIx/Class/Storage/DBI.pm b/lib/DBIx/Class/Storage/DBI.pm index 9b5e3b03d..fe2e4488c 100644 --- a/lib/DBIx/Class/Storage/DBI.pm +++ b/lib/DBIx/Class/Storage/DBI.pm @@ -2888,6 +2888,7 @@ sub create_ddl_dir { my $file; my $filename = $schema->ddl_filename($db, $version, $dir); + $schema->output_files($filename); if (-e $filename && ($version eq $schema_version )) { # if we are dumping the current version, overwrite the DDL carp "Overwriting existing DDL file - $filename";