debian/littlebird-tc-sql.postinst
changeset 84 e54c345e0d4a
parent 81 39b02aed056b
child 110 7a0959f212e6
--- a/debian/littlebird-tc-sql.postinst	Mon Sep 19 15:47:49 2011 +0200
+++ b/debian/littlebird-tc-sql.postinst	Mon Sep 19 16:49:41 2011 +0200
@@ -28,6 +28,9 @@
 	# only if we have admin access to the database
 	db_get littlebird-tc/db/have-admin || true
 	if test "$RET" = "true"; then
+		# avoid stupid messages next time
+	        db_set littlebird-tc/db/have-admin false || true
+
 		db_get littlebird-tc/db/adminuser && adminuser="$RET" || true
 		db_get littlebird-tc/db/adminpass && adminpass="$RET" || true
 		db_get littlebird-tc/db/host && host="$RET" || true
@@ -35,7 +38,6 @@
 
 		# check admin access
 		if ! _mysql -e "" mysql 2>$tmp; then
-		    db_set   littlebird-tc/db/have-admin false || true
 		    db_subst littlebird-tc/db/failure message "`cat $tmp`" || true
 		    db_subst littlebird-tc/db/failure name "$name" || true
 		    db_subst littlebird-tc/db/failure host "$host" || true
@@ -44,49 +46,25 @@
 		    exit 1
 		fi
 
-		if _mysql -e "" "$name" 2>/dev/null; then
-	            db_set littlebird-tc/db/have-admin false || true
-		    db_subst littlebird-tc/db/exists name "$name" || true
-		    db_input medium littlebird-tc/db/exists || true
-		    db_go || true
-		else
-		    # ok, setup the database
+		# ok, setup the database
+		# AND grant the permissions to the user
+
+		db_get littlebird-tc/db/user && user="$RET" || true
+		db_get littlebird-tc/db/pass && pass="$RET" || true
 
-		    db_get littlebird-tc/db/user && user="$RET" || true
-		    db_get littlebird-tc/db/pass && pass="$RET" || true
-		    if test "$host" = "localhost"; then client="localhost"
-		    else client="%"
-		    fi
+		if test "$host" = "localhost"; then client="localhost"
+		else client="%"
+		fi
 
-		    # create or update the user
-
-		    _mysql <<EOF
-		    -- CREATE DATABASE $name;
+		_mysql <<EOF
+		    CREATE DATABASE IF NOT EXISTS $name CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
 		    GRANT ALL ON $name.* TO '$user'@'$client' IDENTIFIED BY '$pass';
 		    FLUSH PRIVILEGES;
 EOF
-	    
-		    if false; then
-		    /usr/share/littlebird-tc/sql/install_test_iteration_2011-06.sh \
-			--host "$host" --db "$name" \
-			--adminuser "$adminuser" --adminpass "$adminpass" \
-			--user "$user" --pass "$pass"
-		    fi
+		 env PATH=/usr/local/zend/bin:$PATH \
+		    /usr/share/littlebird-tc/TrustCenter/scripts/install_update_db \
+		    "$adminuser" "$adminpass"
 
-		    if test -x /usr/share/littlebird-tc/TrustCenter/scripts/install_update_db
-		    then
-			env PATH=/usr/local/zend/bin:$PATH \
-			    /usr/share/littlebird-tc/TrustCenter/scripts/install_update_db \
-			    "$adminuser" "$adminpass"
-		    else
-			env PATH=/usr/local/zend/bin:$PATH \
-			    sh /usr/share/littlebird-tc/TrustCenter/scripts/install_update_db.sh \
-			    "$adminuser" "$adminpass"
-		    fi
-
-		# avoid stupid messages next time
-	        db_set littlebird-tc/db/have-admin false || true
-		fi
 	fi
     ;;