~george-edison55/charms/precise/statusnet/added-maintainer

« back to all changes in this revision

Viewing changes to hooks/db-relation-changed

  • Committer: Nathan Osman
  • Date: 2011-11-29 07:00:43 UTC
  • Revision ID: admin@quickmediasolutions.com-20111129070043-xqpxjd0ty3qc6j4t
Almost finished filling in the rest of the hooks, added two utility scripts, and made some corrections here and there.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
set -e
4
4
 
5
 
# TODO
 
5
# Retrieve the settings from the database
 
6
juju-log "Retrieving database relationship"
 
7
DB_NAME=`relation-get database`
 
8
 
 
9
# Make sure the database info is available before we proceed
 
10
if [ -z "$DB_NAME" ] ; then
 
11
    juju-log "No database relationship set yet"
 
12
    exit 0
 
13
fi
 
14
 
 
15
# Fetch the database configuration
 
16
juju-log "Retrieving database information"
 
17
DB_USER=`relation-get user`
 
18
DB_PASS=`relation-get password`
 
19
DB_HOST=`relation-get private-address`
 
20
 
 
21
juju-log "Updating configuration file"
 
22
update_statusnet_config <<EOD
 
23
db/database=mysqli://$DB_USER:$DB_PASS@$DB_HOST/$DB_NAME
 
24
db/type=mysql
 
25
EOD
 
26
 
 
27
# We only want the SQL tables entered into the database _once_ and
 
28
# after that the step needs to be skipped. So we create a file in
 
29
# /opt the first time and check for it in later iterations.
 
30
if [ ! -f /opt/created_database_tables ] ; then
 
31
    
 
32
    # Execute the SQL that creates the tables
 
33
    juju-log "Creating database tables"
 
34
    #mysql -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME < /var/www/some_sql_file_that_i_dont_know_about_yet
 
35
    
 
36
    # Create the file signaling that the tables have been created
 
37
    # (Added bonus: if there was an error inserting the tables, this
 
38
    # line will not be reached and will be retried next time!)
 
39
    echo "" >/opt/created_database_tables
 
40
    
 
41
    # Now attempt to insert the admin information IF the data is available
 
42
    # Retrieve the configuration data for the owner
 
43
    NICKNAME=`config-get nickname`
 
44
    PASSWORD=`config-get password`
 
45
    
 
46
    # Update the user configuration IF the config data is present
 
47
    if [[ -n $NICKNAME && -n $PASSWORD ]] ; then
 
48
        juju-log "Updating the administrator information"
 
49
        update_admin_info "$NICKNAME" "$PASSWORD"
 
50
    fi
 
51
fi