Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 0d692054

Von Moritz Bunkus vor fast 19 Jahren hinzugefügt

  • ID 0d6920540b289a59b021a6be86445279b39a26ef
  • Vorgänger be82c1ef
  • Nachfolger 666f9ee4

Automatische Datenbankupgrades. Einfach upgrade Datei ins sql/ Verzeichnis legen, einloggen, fertig. SL/Form.pm::dbversion ist nicht mehr noetig. [r806:808 aus LINET prog-Repo]

Unterschiede anzeigen:

SL/Form.pm
143 143
  $self->{action} =~ s/( |-|,|#)/_/g;
144 144

  
145 145
  $self->{version}   = "2.2.0";
146
  $self->{dbversion} = "2.2.0";
147 146

  
148 147
  $main::lxdebug->leave_sub();
149 148

  
SL/User.pm
162 162

  
163 163
    $rc = 0;
164 164

  
165
    if ($form->{dbversion} ne $dbversion) {
165
    if (&update_available($dbversion)) {
166 166

  
167 167
      # update the tables
168 168
      open FH, ">$userspath/nologin" or die "
......
652 652
}
653 653
## /LINET
654 654

  
655
sub update_available {
656
  ($cur_version) = @_;
657
    opendir SQLDIR, "sql/." or &error("", "$!");
658
    my @upgradescripts = 
659
      grep(/$form->{dbdriver}-upgrade-$cur_version.*\.sql/, readdir(SQLDIR));
660
    closedir SQLDIR;
661
    
662
    return ($#upgradescripts > -1);
663
}
664

  
655 665
sub dbupdate {
656 666
  $main::lxdebug->enter_sub();
657 667

  

Auch abrufbar als: Unified diff