test data for IServ2 update script
[iserv-mod-room-reservation.git] / maint / update-iserv1-iserv2.pl
index c0f219a..b23e17e 100755 (executable)
@@ -208,13 +208,21 @@ print "importing old bookings...\n";
 IServ::DB::Exec "CREATE TABLE mod_roomreservation_bookings_old (id INT NOT NULL PRIMARY KEY, room TEXT NOT NULL, date DATE NOT NULL, timebegin TIME NOT NULL, timeend TIME NOT NULL, act TEXT REFERENCES users(Act) ON DELETE CASCADE ON UPDATE CASCADE NOT NULL, class TEXT, reason TEXT NOT NULL, fixed BOOL);";
 while(<IN>) {
   # rename the table
-  $_ =~ s/INSERT INTO rooms/INSERT INTO mod_roomreservation_bookings_old/;
+  $_ =~ s/INSERT INTO rooms /INSERT INTO mod_roomreservation_bookings_old /;
   IServ::DB::Exec($_);
 }
 
 print "converting the database...\n";
 foreach(IServ::DB::GetArr("SELECT * FROM mod_roomreservation_bookings_old;")) {
   my %row = %{$_};
+
+  # test if room exists, if not, create it
+  my @room = IServ::DB::GetArr "SELECT * FROM rooms WHERE name='".$row{"room"}."';";
+  if(!@room) {
+    print "NOTICE: room $_ was found in old database but not in current, creating it.\n";
+    IServ::DB::Put "rooms", { "name" => $row{"room"} };
+  }
+
   IServ::DB::Put "mod_roomreservation_bookings", { "rrb_room" => $row{"room"},
     "rrb_date" => $row{"date"}, "rrb_tsfirst" => 
     $tsbeginoldkeys{$row{"timebegin"}}, "rrb_tslast" => 
This page took 0.022659 seconds and 4 git commands to generate.