]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/updatedb/update_postgresql_tables_7_to_8
Tweak add sm_dump comments in debug code
[bacula/bacula] / bacula / updatedb / update_postgresql_tables_7_to_8
index 4c821ab6d60f32cb550475b2340c98eccee7fa2d..2aae66a8f782dba157c423bb7fdb4e53cc0c0548 100755 (executable)
@@ -7,15 +7,34 @@ echo "This script will update a Bacula PostgreSQL database from version 7 to 8"
 echo "Depending on the size of your database,"
 echo "this script may take several minutes to run."
 echo " "
-bindir=/home/kern/bacula/depkgs/sqlite
+bindir=/usr/bin
 
-if $bindir/psql $* -f - <<END-OF-DATA
+DB_VER="`echo -e '\\c bacula\nselect * from Version;' | $bindir/psql $* bacula -f - | tail -n 1 2>/dev/null`"
+if [ -z "$DB_VER" ]; then
+       echo "Sorry, I can't seem to locate a bacula database."
+       exit 1
+fi
+
+if [ -n "$DB_VER" ]; then
+
+       if [ "$DB_VER" = "8" ]; then
+               echo "The Catalog is already at version 8. Nothing to do!"
+               exit 0
+       elif [ "$DB_VER" -ne "7" ]; then
+               echo "Sorry, this script is designed to update a version 7 database"
+               echo "and you have a version $DB_VER database."
+               exit 1
+       fi
+fi
+
+
+if $bindir/psql $* -f - <<END_OF_DATA
 \c bacula
 
 ALTER TABLE media ADD COLUMN EndFile integer;
 UPDATE media SET EndFile=0;
 ALTER TABLE media ALTER COLUMN EndFile SET NOT NULL;
-ALTER TABLE media ADD COLUMN EndBlock integer;
+ALTER TABLE media ADD COLUMN EndBlock bigint;
 UPDATE media SET EndBlock=0;
 ALTER TABLE media ALTER COLUMN EndBlock SET NOT NULL;
 
@@ -44,7 +63,7 @@ create table CDImages
 
 vacuum;
 
-END-OF-DATA
+END_OF_DATA
 then
    echo "Update of Bacula PostgreSQL tables succeeded."
 else