]> wagnertech.de Git - kivitendo-erp.git/commitdiff
Automatische Datenbankupgrades. Einfach upgrade Datei ins sql/ Verzeichnis legen...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 17 Feb 2006 08:50:07 +0000 (08:50 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 17 Feb 2006 08:50:07 +0000 (08:50 +0000)
SL/Form.pm
SL/User.pm

index 90f412018895a6931a8815d2de8db440debf45e5..3c0e2e6bb17f80fcf277c7adf1c2474bb37f4092 100644 (file)
@@ -143,7 +143,6 @@ sub new {
   $self->{action} =~ s/( |-|,|#)/_/g;
 
   $self->{version}   = "2.2.0";
   $self->{action} =~ s/( |-|,|#)/_/g;
 
   $self->{version}   = "2.2.0";
-  $self->{dbversion} = "2.2.0";
 
   $main::lxdebug->leave_sub();
 
 
   $main::lxdebug->leave_sub();
 
index f989e86f5b7bb10e16b201efe4e67f56784b559b..fbc022357d5f5567d9ead2806cbdffdb0b22b6f5 100644 (file)
@@ -162,7 +162,7 @@ sub login {
 
     $rc = 0;
 
 
     $rc = 0;
 
-    if ($form->{dbversion} ne $dbversion) {
+    if (&update_available($dbversion)) {
 
       # update the tables
       open FH, ">$userspath/nologin" or die "
 
       # update the tables
       open FH, ">$userspath/nologin" or die "
@@ -652,6 +652,16 @@ sub cmp_script_version {
 }
 ## /LINET
 
 }
 ## /LINET
 
+sub update_available {
+  ($cur_version) = @_;
+    opendir SQLDIR, "sql/." or &error("", "$!");
+    my @upgradescripts = 
+      grep(/$form->{dbdriver}-upgrade-$cur_version.*\.sql/, readdir(SQLDIR));
+    closedir SQLDIR;
+    
+    return ($#upgradescripts > -1);
+}
+
 sub dbupdate {
   $main::lxdebug->enter_sub();
 
 sub dbupdate {
   $main::lxdebug->enter_sub();