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