davical/davical-setup.sh

changeset 396
610cba0674b9
parent 298
e2eb036d448f
     1.1 --- a/davical/davical-setup.sh	Tue Nov 29 18:44:37 2011 +0100
     1.2 +++ b/davical/davical-setup.sh	Thu Dec 01 13:24:24 2011 +0100
     1.3 @@ -40,8 +40,10 @@
     1.4          #   create database
     1.5          ( echo "CREATE ROLE $db_user LOGIN ENCRYPTED PASSWORD '$db_pass' NOCREATEDB NOCREATEUSER;"
     1.6            echo "CREATE TABLESPACE $db_name OWNER $db_user LOCATION '$db_dir';"
     1.7 -          echo "CREATE DATABASE $db_name OWNER $db_user TABLESPACE $db_name ENCODING 'SQL_ASCII';"
     1.8 +          echo "CREATE DATABASE $db_name OWNER $db_user TABLESPACE $db_name TEMPLATE template0 ENCODING 'UTF8';"
     1.9          ) | PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_sname" -f-
    1.10 +
    1.11 +        #   ensure PL/PgSQL language is available
    1.12          PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" \
    1.13              -c "CREATE LANGUAGE plpgsql;"
    1.14  
    1.15 @@ -55,7 +57,11 @@
    1.16          PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \
    1.17              -f "@l_prefix@/lib/davical/davical/dba/base-data.sql" 2>&1 | grep -v NOTICE
    1.18  
    1.19 -        #   create schema 2/2 (from original "update-davical-database" script)
    1.20 +        #   create schema 2/3 (from nowhere, but required by appuser_permissions.txt below)
    1.21 +        PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \
    1.22 +            -f "@l_prefix@/lib/davical/davical/dba/views/dav_principal.sql" 2>&1 | grep -v NOTICE
    1.23 +
    1.24 +        #   create schema 3/3 (from original "update-davical-database" script)
    1.25          PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \
    1.26              -f "@l_prefix@/lib/davical/davical/dba/supported_locales.sql" 2>&1 | grep -v NOTICE
    1.27          PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \
    1.28 @@ -63,8 +69,6 @@
    1.29          PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" -A -t \
    1.30              -f "@l_prefix@/lib/davical/davical/dba/rrule_functions.sql" 2>&1 | egrep -v '(NOTICE|ERROR)'
    1.31          PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_name" -A -t \
    1.32 -            -f "/opmi/lib/davical/davical/dba/views/dav_principal.sql"
    1.33 -        PGPASSWORD="$db_spass" @l_prefix@/bin/psql -q -U "$db_suser" -d "$db_name" -A -t \
    1.34              -f "@l_prefix@/lib/davical/davical/dba/appuser_permissions.txt" 2>&1 | grep -v NOTICE
    1.35  
    1.36          #   set admin password
    1.37 @@ -73,8 +77,11 @@
    1.38          ;;
    1.39  
    1.40      uninstall )
    1.41 +        #   destroy PL/PgSQL language
    1.42          PGPASSWORD="$db_pass" @l_prefix@/bin/psql -q -U "$db_user" -d "$db_name" \
    1.43              -c "DROP LANGUAGE plpgsql CASCADE;" 2>&1 | grep -v NOTICE
    1.44 +
    1.45 +        #   destroy database
    1.46          ( echo "DROP DATABASE $db_name;"
    1.47            echo "DROP TABLESPACE $db_name;"
    1.48            echo "DROP ROLE $db_user;"
    1.49 @@ -82,6 +89,7 @@
    1.50          ;;
    1.51  
    1.52      edit )
    1.53 +        #   edit database
    1.54          PGPASSWORD="$db_spass" @l_prefix@/bin/psql -U "$db_suser" -d "$db_name"
    1.55          ;;
    1.56  esac

mercurial