|  | @@ -7,6 +7,8 @@
 | 
	
		
			
			| 7 | 7 |  # TODO: README QQCH pour les ports ? 80, 3060 et 5333
 | 
	
		
			
			| 8 | 8 |  # TODO: generate cookie secrent (if not yet done)
 | 
	
		
			
			| 9 | 9 |  # TODO: run uwsgi as other user
 | 
	
		
			
			|  | 10 | +# TODO: Gestion des migrations
 | 
	
		
			
			|  | 11 | +# TODO: Verbosite des logs ?
 | 
	
		
			
			| 10 | 12 |  
 | 
	
		
			
			| 11 | 13 |  #
 | 
	
		
			
			| 12 | 14 |  # ENVIRONMENT VARIABLES ARE:
 | 
	
	
		
			
			|  | @@ -47,6 +49,12 @@ if [ "$DATABASE_TYPE" = mysql ] ; then
 | 
	
		
			
			| 47 | 49 |      fi
 | 
	
		
			
			| 48 | 50 |      # engine is mysql+oursql
 | 
	
		
			
			| 49 | 51 |      DATABASE_TYPE=mysql+oursql
 | 
	
		
			
			|  | 52 | +
 | 
	
		
			
			|  | 53 | +    # Check if database must be init
 | 
	
		
			
			|  | 54 | +    TEST_TABLE=$(mysql --host="$DATABASE_HOST" --user="$DATABASE_USER" --password="$DATABASE_USER" --database="$DATABASE_NAME" -s -N --execute="SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = '$DATABASE_NAME' AND table_name = 'content';")
 | 
	
		
			
			|  | 55 | +    if [ ${TEST_TABLE} = 0 ] ; then
 | 
	
		
			
			|  | 56 | +        INIT_DATABASE=true
 | 
	
		
			
			|  | 57 | +    fi
 | 
	
		
			
			| 50 | 58 |  fi
 | 
	
		
			
			| 51 | 59 |  
 | 
	
		
			
			| 52 | 60 |  # PostgreSQL case
 | 
	
	
		
			
			|  | @@ -56,22 +64,21 @@ if [ "$DATABASE_TYPE" = postgresql ] ; then
 | 
	
		
			
			| 56 | 64 |          DATABASE_PORT=5432
 | 
	
		
			
			| 57 | 65 |      fi
 | 
	
		
			
			| 58 | 66 |      DATABASE_SUFFIX="?client_encoding=utf8"
 | 
	
		
			
			| 59 |  | -fi
 | 
	
		
			
			| 60 | 67 |  
 | 
	
		
			
			| 61 |  | -# Update sqlalchemy.url
 | 
	
		
			
			| 62 |  | -sed -i "s/\(sqlalchemy.url *= *\).*/\\sqlalchemy.url = $DATABASE_TYPE:\/\/$DATABASE_USER:$DATABASE_PASSWORD@$DATABASE_HOST:$DATABASE_PORT\/$DATABASE_NAME$DATABASE_SUFFIX/" /etc/tracim/config.ini
 | 
	
		
			
			| 63 |  | -
 | 
	
		
			
			| 64 |  | -# Initialize database if it is a fresh install
 | 
	
		
			
			| 65 |  | -if [ "$DATABASE_TYPE" = postgresql ] ; then
 | 
	
		
			
			| 66 |  | -    TEST_TABLE=$(PGPASSWORD="$DATABASE_PASSWORD" psql -U ${DATABASE_USER} -h ${DATABASE_HOST} -d ${DATABASE_NAME} -t -c "SELECT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'content' );")
 | 
	
		
			
			|  | 68 | +    # Check if database must be init
 | 
	
		
			
			|  | 69 | +    TEST_TABLE=$(PGPASSWORD="$DATABASE_PASSWORD" psql -U ${DATABASE_USER} -h ${TEST_TABLE} -d ${DATABASE_NAME} -t -c "SELECT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'content' );")
 | 
	
		
			
			| 67 | 70 |      if [ ${TEST_TABLE} = f ] ; then
 | 
	
		
			
			| 68 | 71 |          INIT_DATABASE=true
 | 
	
		
			
			| 69 | 72 |      fi
 | 
	
		
			
			| 70 | 73 |  fi
 | 
	
		
			
			| 71 | 74 |  
 | 
	
		
			
			|  | 75 | +# Initialize database if needed
 | 
	
		
			
			| 72 | 76 |  if [ "$INIT_DATABASE" = true ] ; then
 | 
	
		
			
			| 73 | 77 |      cd /tracim/tracim/ && gearbox setup-app -c config.ini
 | 
	
		
			
			| 74 | 78 |  fi
 | 
	
		
			
			| 75 | 79 |  
 | 
	
		
			
			|  | 80 | +# Update sqlalchemy.url
 | 
	
		
			
			|  | 81 | +sed -i "s/\(sqlalchemy.url *= *\).*/\\sqlalchemy.url = $DATABASE_TYPE:\/\/$DATABASE_USER:$DATABASE_PASSWORD@$DATABASE_HOST:$DATABASE_PORT\/$DATABASE_NAME$DATABASE_SUFFIX/" /etc/tracim/config.ini
 | 
	
		
			
			|  | 82 | +
 | 
	
		
			
			| 76 | 83 |  # Start with uwsgi
 | 
	
		
			
			| 77 | 84 |  uwsgi --http-socket 0.0.0.0:80 /etc/tracim/uwsgi.ini
 |