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.
### É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 de pages gestion utilisateurs.
**En cours:**
- tests
- tests, formulaires utilisateurs, logging.
## Setup (sur Debian 10 / python3.7)
@ -67,19 +71,14 @@ via `sqlalchemy`.
### Configuration de la base utilisateurs
On va créer une base nommée `SCO8USERS`, appartenant à l'utilisateur (aka role) postgres `scodoc`.
Cet utilisateur sera créé ainsi sur le serveur linux::
Lancer le script `tools/create_database.sh`
su - postgres
createuser --no-createdb --no-createrole --pwprompt scodoc
Ce script crée une base nommée `SCO8USERS`, appartenant à l'utilisateur (role) postgres `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
### Initialisation base par flask
En tant qu'utilisateur `www-data` (compat. avec ScoDoc7):
En tant qu'utilisateur `scodoc`:
flask db init
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)
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:

View File

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

View File

@ -3,14 +3,20 @@
# Create database for a ScoDoc instance
# 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 utils.sh
echo 'Creating postgresql database'
if [ $(id -n -u) != "$POSTGRES_SUPERUSER" ]
then
die "$0 must be run as user $POSTGRES_SUPERUSER"
fi
# ---
echo 'Creating postgresql database ' "$db_name"
createdb -E UTF-8 -p "$POSTGRES_PORT" -O "$POSTGRES_USER" "$db_name"
# 1--- CREATION UTILISATEUR POSTGRESQL
init_postgres_user
# 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"