Skip to content

uqbar-project/eg-manejo-proyectos-sql

Repository files navigation

Manejo de proyectos - componentes en RDBMS

build-sql

Prerrequisitos

Solo hace falta tener instalado algún Desktop de Docker (el pack docker engine y docker compose), seguí las instrucciones de esta página en el párrafo Docker.

Instalación

Para poder ejecutar el ejemplo abrí una consola de comandos y escribí

docker compose up

Eso

Un dato importante es que en el archivo docker-compose.yml debemos nombrar los archivos de los scripts de manera que queden ordenados alfabéticamente, para que se ejecuten en ese orden o de lo contrario fallará al levantar (porque no va a existir la base de datos o las tablas).

Ingreso a pgAdmin

  • El contenedor pgAdmin está conectado al puerto 5050 de tu máquina, e ingresás en el navegador escribiendo http://localhost:5050/, luego tenés que ingresar admin@phm.edu.ar como usuario y contraseña admin.
  • Una vez que ingresás tenés que configurar un server, le podés poner el nombre que quieras, en el Host Name sí hay que utilizar el mismo nombre que define el archivo docker_compose como container de Postgres, en este caso es manejo_proyectos_sql. El puerto es 5432, el username y la contraseña deben ser postgres (o los podés cambiar si querés)

Te dejamos un video que muestra estos pasos:

configuración pgAdmin

Esto es solo la primera vez, cuando quieras levantar nuevamente el ejemplo solo es necesario que levantes el contenedor mediante docker compose up, y luego ingresando a http://localhost:5050/ con el usuario admin@phm.edu.ar vas a tener guardado en el grupo Servers a la base de datos del manejo de proyectos.

Convivencia con otros ejemplos

Si querés tener levantado otros containers, tenés que cambiar el puerto publicado, tanto para el servicio de base de datos como para el cliente:

services:
  db:
    image: postgres:xxxx-alpine # la versión de Postgres minimalista
    ...
    ports:
      - '5442:5432' # en lugar de '5432:5432'

  pgadmin:
    image: dpage/pgadmin4
    container_name: pgadmin4_container_proyectos
    ...
    ports:
      - "5060:80"  # en lugar de '5050:80'

Como cada contenedor de Docker funciona en forma separada, el puerto que usa internamente no hace falta cambiarlo.

También tenés que considerar que los contenedores no pueden tener el mismo nombre (en los ejemplos no te va a pasar pero quizás sí si copiás un archivo docker-compose.yml y no le actualizás el container name).

Regenerar la base de cero

Si por algún motivo querés regenerar la base de cero, tené en cuenta que hay que eliminar los archivos publicados en la sección volumes, por lo tanto hay que ejecutar el siguiente comando:

docker compose down --volumes

Y luego nuevamente docker compose up.

Objetivo

Muestra cómo resolver el enunciado del manejo de proyectos con componentes back-end (de una base de datos).

Incluye:

  • creación de tablas y objetos de la base de datos,
  • un fixture
  • y queries de ejemplo.

Diagrama Entidad-Relación

DER

About

Manejo de proyectos en SQL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published