# Versión para openshift

## Instalación

Crear un proyecto.

### Running Commands as Root in OpenShift

    oc adm policy add-scc-to-user anyuid -z default
    
### app trainersapp

A continuación añadir una app desde Agregar, importar desde git.

    oc new-app https://gitea.reymota.es/creylopez/TrainersAppDj.git -e DEBUG="False" --name='entrenadores'

Tal y como está la estructura de directorios, deberia detectar automáticamente una compilación Python

## asignación de los volúmenes
### Si la pvc no está creada
	oc set volume deployment.apps/entrenadores --add -t pvc --claim-size=300M --name=entrenadores-macrociclos-migrations --claim-name='entrenadores-macrociclos--migrations' --claim-class='lvms-vg1' --mount-path='/app/macrociclos-/migrations'

	oc set volume deployment.apps/entrenadores --add -t pvc --claim-size=300M --name=entrenadores-media --claim-name='entrenadores-media' --claim-class='lvms-vg1' --mount-path='/app/mediafiles'

	oc set volume deployment.apps/entrenadores --add -t pvc --claim-size=300M --name=entrenadores-usuarios-migrations --claim-name='entrenadores-usuarios-migrations' --claim-class='lvms-vg1' --mount-path='/app/usuarios/migrations'

	oc set volume deployment.apps/entrenadores --add -t pvc --claim-size=50G --name=static-volume --claim-name='static-volume' --claim-class='lvms-vg1' --mount-path='/app/staticfiles'

 
### Si la pvc ya está creada

    oc set volume deployment.apps/entrenadores --add -t pvc --name=entrenadores-macrociclos-migrations --claim-name='entrenadores-macrociclos--migrations' --mount-path='/app/macrociclos-/migrations'

    oc set volume deployment.apps/entrenadores --add -t pvc --name=entrenadores-media --claim-name='entrenadores-media' --mount-path='/app/mediafiles'

    oc set volume deployment.apps/entrenadores --add -t pvc --name=entrenadores-usuarios-migrations --claim-name='entrenadores-usuarios-migrations' --mount-path='/app/usuarios/migrations'

    oc set volume deployment.apps/entrenadores --add -t pvc --name=static-volume --claim-name='static-volume' --mount-path='/app/staticfiles'


## Exponer el servicio
    oc expose deployment.apps/entrenadores --type=NodePort --port=8080
    
### postgresql
Se hace desde el yaml

#### La pvc solo la primera vez

    oc create -f Yamls/pvc-postgresql.yaml

#### el deployment y el servicio

    oc create -f Yamls/env-prod-db-configmap.yaml    
    oc create -f Yamls/postgresql-deployment.yaml
    oc create -f Yamls/postgresql-service.yaml

## Modificaciones al código

Una vez realizadas las modificaciones al código y se hayan subido a gitea, hay que reconstruir el proyecto.

    oc start-build entrenadores

## Comandos a ejecutar la primera vez o cuando haya cambios en las bases de datos

    python manage.py createsuperuser

    python manage.py makemigrations

    python manage.py migrate

## Comprobar la base de datos

Con la shell entraPsql.sh:

    \l para listar las BD

    \c reymota para usar nuestra db
    \dt para ver las tablas

## Cambiar la secuencia de lo sid

    ALTER SEQUENCE tablename_id_seq RESTART WITH nn;

esto se hace cuando restauro un volcado de la bd sobre una instalación nueva. Si hay índices ya creados, hay que reinciar a partir del último.

