scripts/mir-setup/README: update with link to new doc on wiki
[mir.git] / dbscripts / createmirdb.sh
1 #!/bin/bash
2
3
4 # experimental bash script to create a database
5 #
6
7
8 usage () {
9   echo "usage: $0 dbname superuser username password"
10 }
11
12 if [ $# -ne 4 ]; then
13   usage 
14   exit;
15 fi;
16   
17 SCRIPT_FILE="/tmp/createmir.$$.sql"
18
19 # database/user creation
20 echo "CREATE DATABASE \"$1\" WITH ENCODING='UNICODE';" > ${SCRIPT_FILE}
21 echo "CREATE USER \"$3\" WITH PASSWORD '$4';" >> ${SCRIPT_FILE}
22 echo "UPDATE pg_database SET datdba=(select usesysid from pg_user where usename='$3') where datname='$1';" >> ${SCRIPT_FILE}
23
24 echo "\connect $1" >> ${SCRIPT_FILE}
25
26 # create/populate scripts:
27 echo "\i create_pg.sql" >> ${SCRIPT_FILE}
28 for i in help*.sql ; do echo "\i ${i}" >> ${SCRIPT_FILE} ; done
29 for i in populate*.sql ; do echo "\i ${i}" >> ${SCRIPT_FILE} ; done
30 echo "\i update_all_sequences.sql" >> ${SCRIPT_FILE}
31
32 # grant rights
33 echo "grant all on media_type      to $3;"   >> ${SCRIPT_FILE}
34 echo "grant all on img_format      to $3;"   >> ${SCRIPT_FILE}
35 echo "grant all on img_layout      to $3;"   >> ${SCRIPT_FILE}
36 echo "grant all on img_type        to $3;"   >> ${SCRIPT_FILE}
37 echo "grant all on img_color       to $3;"   >> ${SCRIPT_FILE}
38 echo "grant all on language        to $3;"   >> ${SCRIPT_FILE}
39 echo "grant all on rights          to $3;"   >> ${SCRIPT_FILE}
40 echo "grant all on article_type    to $3;"   >> ${SCRIPT_FILE}
41 echo "grant all on breaking        to $3;"   >> ${SCRIPT_FILE}
42 echo "grant all on messages        to $3;"   >> ${SCRIPT_FILE}
43 echo "grant all on comment_status  to $3;"   >> ${SCRIPT_FILE}
44 echo "grant all on other_media     to $3;"   >> ${SCRIPT_FILE}
45 echo "grant all on webdb_users     to $3;"   >> ${SCRIPT_FILE}
46 echo "grant all on content_x_topic to $3;"   >> ${SCRIPT_FILE}
47 echo "grant all on topic           to $3;"   >> ${SCRIPT_FILE}
48 echo "grant all on uploaded_media  to $3;"   >> ${SCRIPT_FILE}
49 echo "grant all on images          to $3;"   >> ${SCRIPT_FILE}
50 echo "grant all on content_x_media to $3;"   >> ${SCRIPT_FILE}
51 echo "grant all on comment_x_media to $3;"   >> ${SCRIPT_FILE}
52 echo "grant all on audio           to $3;"   >> ${SCRIPT_FILE}
53 echo "grant all on video           to $3;"   >> ${SCRIPT_FILE}
54 echo "grant all on content         to $3;"   >> ${SCRIPT_FILE}
55 echo "grant all on comment         to $3;"   >> ${SCRIPT_FILE}
56 echo "grant all on media_folder    to $3;"   >> ${SCRIPT_FILE}
57 echo "grant all on db_patches      to $3;"   >> ${SCRIPT_FILE}
58 echo "grant all on model_version   to $3;"   >> ${SCRIPT_FILE}
59
60 echo "grant all on media_id_seq    to $3;"   >> ${SCRIPT_FILE}
61 echo "grant all on media_folder_id_seq to $3;"   >> ${SCRIPT_FILE}
62 echo "grant all on topic_id_seq    to $3;"   >> ${SCRIPT_FILE}
63 echo "grant all on webdb_users_id_seq to $3;"   >> ${SCRIPT_FILE}
64 echo "grant all on comment_id_seq  to $3;"   >> ${SCRIPT_FILE}
65 echo "grant all on breaking_id_seq to $3;"   >> ${SCRIPT_FILE}
66 echo "grant all on messages_id_seq to $3;"   >> ${SCRIPT_FILE}
67 echo "grant all on media_type_id_seq to $3;"   >> ${SCRIPT_FILE}
68 echo "grant all on comment_status_id_seq to $3;"   >> ${SCRIPT_FILE}
69 echo "grant all on article_type_id_seq to $3;"   >> ${SCRIPT_FILE}
70 echo "grant all on language_id_seq to $3;"   >> ${SCRIPT_FILE}
71 echo "grant all on db_patches_id_seq to $3;"   >> ${SCRIPT_FILE}
72
73 # execute the script
74 psql -U $2 -f ${SCRIPT_FILE} -d template1
75
76 rm ${SCRIPT_FILE}