user database creation script

This commit is contained in:
Emmanuel Viennet 2021-07-23 14:45:56 +03:00
parent 3c943b21b2
commit 022999da8e
3 changed files with 27 additions and 20 deletions

View File

@ -22,15 +22,19 @@ ne soit visible des utilisateurs.
Développement en cours, certaines pages fonctionnent, d'autres pas. Développement en cours, certaines pages fonctionnent, d'autres pas.
### État actuel (13 juillet 21) ### État actuel (23 juillet 21)
- passage à l'unicode en cours (certaines E/S encore à revoir). - serveur de développement fonctionnel (pas testé en mode "production" sous gunicorn+nginx).
- logs à revoir
- pas d'import/export excel. - pas d'import/export excel.
- pas de pages gestion utilisateurs.
**En cours:** **En cours:**
- tests - tests, formulaires utilisateurs, logging.
## Setup (sur Debian 10 / python3.7) ## Setup (sur Debian 10 / python3.7)
@ -67,19 +71,14 @@ via `sqlalchemy`.
### Configuration de la base utilisateurs ### Configuration de la base utilisateurs
On va créer une base nommée `SCO8USERS`, appartenant à l'utilisateur (aka role) postgres `scodoc`. Lancer le script `tools/create_database.sh`
Cet utilisateur sera créé ainsi sur le serveur linux::
su - postgres Ce script crée une base nommée `SCO8USERS`, appartenant à l'utilisateur (role) postgres `scodoc`.
createuser --no-createdb --no-createrole --pwprompt scodoc Cet utilisateur est créé si nécessaire.
Puis création de la base (en tant qu'utilisateur `postgres`): ### Initialisation de la base utilisateur par Flask
createdb -O scodoc SCO8USERS En tant qu'utilisateur `scodoc`:
### Initialisation base par flask
En tant qu'utilisateur `www-data` (compat. avec ScoDoc7):
flask db init flask db init
flask db migrate -m "users and roles tables" flask db migrate -m "users and roles tables"
@ -111,7 +110,7 @@ Pour créer un utilisateur "super admin", c'est à dire admin dans tous les dép
## Lancement serveur (développement, sur VM Linux) ## Lancement serveur (développement, sur VM Linux)
En tant qu'utilisateur `www-data` (pour avoir accès aux bases départements de ScoDoc7): En tant qu'utilisateur `scodoc` (pour avoir accès aux bases départements de ScoDoc7):
1. Lancer memcached: 1. Lancer memcached:

View File

@ -34,6 +34,8 @@ export POSTGRES_USER="$SCODOC_USER"
# Postgresql superuser: # Postgresql superuser:
export POSTGRES_SUPERUSER=postgres export POSTGRES_SUPERUSER=postgres
export SCODOC_USER_DB="SCO8USERS"
# psql command: if various versions installed, force the one we want: # psql command: if various versions installed, force the one we want:
if [ "${debian_version}" = "10" ] if [ "${debian_version}" = "10" ]
then then

View File

@ -3,14 +3,20 @@
# Create database for a ScoDoc instance # Create database for a ScoDoc instance
# This script must be executed as postgres user # This script must be executed as postgres user
# #
# $db_name is passed ias an environment variable # $db_name is passed as an environment variable
source config.sh source config.sh
source utils.sh source utils.sh
echo 'Creating postgresql database' if [ $(id -n -u) != "$POSTGRES_SUPERUSER" ]
then
die "$0 must be run as user $POSTGRES_SUPERUSER"
fi
# --- # 1--- CREATION UTILISATEUR POSTGRESQL
echo 'Creating postgresql database ' "$db_name" init_postgres_user
createdb -E UTF-8 -p "$POSTGRES_PORT" -O "$POSTGRES_USER" "$db_name"
# 2--- CREATION BASE UTILISATEURS
echo 'Creating postgresql database for users:' "$SCODOC_USER_DB"
createdb -E UTF-8 -p "$POSTGRES_PORT" -O "$POSTGRES_USER" "$SCODOC_USER_DB"