Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 378828e9

Von Tamino Steinert vor etwa 1 Monat hinzugefügt

  • ID 378828e90f2679049e0bc762a1b672878e856ec4
  • Vorgänger ee82caf3
  • Nachfolger ca10be4b

SL::File: Versionsnummber über file_version bestimmen

Unterschiede anzeigen:

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