Revision 378828e9
Von Tamino Steinert vor etwa 1 Monat hinzugefügt
sql/Pg-upgrade2/add_file_version.pl | ||
---|---|---|
15 | 15 |
|
16 | 16 |
use parent qw(SL::DBUpgrade2::Base); |
17 | 17 |
|
18 |
sub get_all_versions { |
|
19 |
my ($fileobj) = @_; |
|
20 |
|
|
21 |
my @versionobjs; |
|
22 |
|
|
23 |
my $maxversion = $fileobj->version_count; |
|
24 |
$fileobj->version($maxversion); |
|
25 |
push @versionobjs, $fileobj; |
|
26 |
if ($maxversion > 1) { |
|
27 |
for my $version (2..$maxversion) { |
|
28 |
my $clone = $fileobj->clone; |
|
29 |
$clone->version($maxversion-$version+1); |
|
30 |
$clone->newest(0); |
|
31 |
push @versionobjs, $clone; |
|
32 |
} |
|
33 |
} |
|
34 |
} |
|
35 |
|
|
18 | 36 |
sub run { |
19 | 37 |
my ($self) = @_; |
20 | 38 |
|
... | ... | |
35 | 53 |
die "Unknown backend '$backend' for file with ID '$file_id'."; |
36 | 54 |
} |
37 | 55 |
|
38 |
my @versions = SL::File->get_all_versions(dbfile => $dbfile);
|
|
56 |
my @versions = get_all_versions($dbfile);
|
|
39 | 57 |
foreach my $version (@versions) { |
40 | 58 |
my $tofile; |
41 | 59 |
eval { |
... | ... | |
53 | 71 |
|
54 | 72 |
my $fv = SL::DB::FileVersion->new( |
55 | 73 |
file_id => $dbfile->id, |
56 |
version => $version->version, |
|
74 |
version => $version->version || 1,
|
|
57 | 75 |
file_location => $rel_file, |
58 | 76 |
doc_path => $doc_path, |
59 | 77 |
backend => $dbfile->backend, |
Auch abrufbar als: Unified diff
SL::File: Versionsnummber über file_version bestimmen