Skip to content

Commit 75b88af

Browse files
committed
update 6.02.2025
1 parent f0a2b86 commit 75b88af

6 files changed

+136
-277
lines changed

.env.example

-6
This file was deleted.

INSTRUCTIONS.es.md

+61-36
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,27 @@
11
# Conectarse a una base de datos SQL usando Python
22

3-
## Parte 1: Crea una base de datos usando PostgreSQL
3+
## Parte 1: Instala dependencias
4+
5+
Hay un archivo en este proyecto llamado `./requirements.txt` que contiene la lista de bibliotecas de Python que usaremos en este proyecto como Pandas, psycopg2, SQLAlchemy, etc. Ejecuta el comando `pip install -r requirements.txt` para instalar todas las bibliotecas a la vez usando el asistente PIP (*Package Installer of Python*, Instalador de Paquetes de Python).
6+
7+
> NOTA: Asegúrate de que el comando no genere ningún error en el terminal.
8+
9+
## Parte 2: Incluye las credenciales de tu base de datos
10+
11+
Crea tu archivo `./.env`. Es una buena práctica que cada aplicación de Python tenga un archivo `.env`. El nombre del archivo comienza con un punto `.` porque es un archivo de configuración que será ignorado por tu repositorio Git. Debe ignorarse porque agregaremos la contraseña de nuestra base de datos dentro de ese archivo.
12+
13+
Escribe las credenciales de tu base de datos dentro del archivo `.env`. Debería quedar algo así (los valores que se incluyen son de ejemplo):
14+
15+
```text
16+
DB_USER = 'hkietatgd83b4x0l'
17+
DB_PASSWORD = 'p0s2wasdado1cr02d12'
18+
DB_PORT = 3306
19+
DB_HOST = 'f565gmi022AD.cbetxkdyhwsb.us-east-1.rds.amazonaws.com'
20+
DB_NAME = 'y9uflxvx2hsf11g3f'
21+
```
22+
23+
24+
## Parte 3: Crea una base de datos usando PostgreSQL
425

526
Asegúrate de tener instalado el cliente de Postgres para la terminal llamado `PSQL`. Puedes verificar si lo tienes corriendo el siguiente comando:
627

@@ -13,15 +34,36 @@ $ psql --version
1334
A continuación, revisa el contenido del archivo `./.env` y sigue los pasos que se describen a continuación:
1435

1536
1. Postgres es un servidor de bases de datos, debes iniciar el servidor antes de poder usarlo. Para iniciar Postgres en tu computadora, ejecuta el siguiente comando: `sudo service postgresql start`
16-
2. Crea un usuario nuevo para conectarte a tu base de datos: `$ psql -U postgres -c "CREATE USER gitpod;"`
17-
3. Crea una nueva base de datos dentro del motor de Postgres personalizando y ejecutando el siguiente comando: `$ psql -U postgres -c "CREATE DATABASE sample_db OWNER gitpod;"`
37+
2. Crea un usuario nuevo para conectarte a tu base de datos: `$ psql -U postgres -c "CREATE USER <DB_USER>;"`
38+
Este comando significa lo siguiente:
39+
40+
- psql -U postgres → Conéctate a PostgreSQL usando el usuario administrador predeterminado (postgres).
41+
- -c "CREATE USER <DB_USER>;" → Ejecuta el comando SQL para crear un usuario llamado <DB_USER>.
42+
43+
Si en el .env tienes:
44+
45+
DB_USER = 'mi_usuario'
46+
El comando que debes ejecutar es:
47+
48+
psql -U postgres -c "CREATE USER mi_usuario;"
49+
50+
3. Crea una nueva base de datos dentro del motor de Postgres personalizando y ejecutando el siguiente comando:`$ psql -U postgres -c "CREATE DATABASE <DB_NAME> OWNER <DB_USER>;"`.
51+
52+
Si en tu .env tienes:
53+
54+
DB_NAME = 'mi_base_de_datos'
55+
DB_USER = 'mi_usuario'
56+
57+
Entonces el comando sería:
58+
59+
psql -U postgres -c "CREATE DATABASE mi_base_de_datos OWNER mi_usuario;"
1860
4. Conéctate al motor de Postgres para utilizar tu base de datos, manipular tablas y datos: `$ psql -h localhost -U <username> <db_name>`
1961

20-
> NOTA: Recuerda revisar la información del fichero `./.env` para obtener el `username` y el `db_name`.
62+
Recuerda revisar la información del fichero `./.env` para obtener el `username` y el `db_name`.
2163

2264
¡Cuanto estés dentro de PSQL podrás crear tablas, hacer consultas, insertar, actualizar o eliminar datos y mucho más!
2365

24-
## Parte 2: Comprende la estructura de la plantilla de tu proyecto
66+
## Parte 4: Comprende la estructura de la plantilla de tu proyecto
2567

2668
Una vez hayas completado los pasos anteriores, habrás creado tu base de datos SQL, pero aún no hay tablas. A continuación, debes conectarte a tu base de datos vacía y crearás algunas tablas usando Python mediante scripts SQL que encontrarás en la carpeta `./src/sql/`:
2769

@@ -35,27 +77,6 @@ Otras cosas importantes a mencionar sobre la estructura:
3577
- `./assets` es irrelevante para ti, contiene todas las imágenes que necesitábamos para este tutorial.
3678
- La raíz (*root*) de cualquier proyecto profesional suele contener todos los archivos de configuración como `.gitignore`, `requirements.txt`, etc. Aprenderás más sobre estos archivos durante el resto del proyecto.
3779

38-
## Parte 3: Instala dependencias
39-
40-
Hay un archivo en este proyecto llamado `./requirements.txt` que contiene la lista de bibliotecas de Python que usaremos en este proyecto como Pandas, psycopg2, SQLAlchemy, etc. Ejecuta el comando `pip install -r requirements.txt` para instalar todas las bibliotecas a la vez usando el asistente PIP (*Package Installer of Python*, Instalador de Paquetes de Python).
41-
42-
> NOTA: Asegúrate de que el comando no genere ningún error en el terminal.
43-
44-
## Parte 4: Incluye las credenciales de tu base de datos
45-
46-
Crea tu archivo `./.env`. Es una buena práctica que cada aplicación de Python tenga un archivo `.env`. El nombre del archivo comienza con un punto `.` porque es un archivo de configuración que será ignorado por tu repositorio Git. Debe ignorarse porque agregaremos la contraseña de nuestra base de datos dentro de ese archivo.
47-
48-
Escribe las credenciales de tu base de datos dentro del archivo `.env`. Debería quedar algo así (los valores que se incluyen son de ejemplo):
49-
50-
```text
51-
DB_USER = 'hkietatgd83b4x0l'
52-
DB_PASSWORD = 'p0s2wasdado1cr02d12'
53-
DB_PORT = 3306
54-
DB_HOST = 'f565gmi022AD.cbetxkdyhwsb.us-east-1.rds.amazonaws.com'
55-
DB_NAME = 'y9uflxvx2hsf11g3f'
56-
```
57-
58-
> NOTA: Asegúrate de reemplazar estos valores con tus credenciales de base de datos reales.
5980

6081
## Parte 5: Empieza a programar
6182

@@ -65,22 +86,26 @@ Todo tu código de Python siempre debe estar dentro de la carpeta `src`, esta ta
6586

6687
```py
6788
def connect():
68-
global engine # Esto nos permite usar una variable global llamada "engine"
69-
# Un "connection string" es básicamente una cadena que contiene todas las credenciales de la base de datos juntas
70-
connection_string = f"postgresql://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}@{os.getenv('DB_HOST')}/{os.getenv('DB_NAME')}?autocommit=true"
71-
print("Starting the connection...")
72-
engine = create_engine(connection_string)
73-
engine.connect()
74-
return engine
89+
global engine
90+
try:
91+
connection_string = f"postgresql://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}@{os.getenv('DB_HOST')}/{os.getenv('DB_NAME')}"
92+
print("Starting the connection...")
93+
engine = create_engine(connection_string, isolation_level="AUTOCOMMIT")
94+
engine.connect()
95+
print("Connected successfully!")
96+
return engine
97+
except Exception as e:
98+
print(f"Error connecting to the database: {e}")
99+
return None
75100
```
76101

77102
## 📝 Instrucciones
78103

79-
1. Vamos a crear un archivo dentro de la carpeta `src` llamado `./src/app.py`.
104+
1. Vamos a trabajr en el archivo dentro de la carpeta `src` llamado `./src/app.py`.
80105

81106
> NOTA: Este archivo contendrá la mayor parte del código de tu aplicación, así como la conexión a la base de datos y las consultas a la base de datos.
82107
83-
2. Crea una base de datos PostgreSQL tal y como se indica en la parte 1.
108+
2. Crea una base de datos PostgreSQL tal y como se indica en la guia.
84109

85110
3. En tu `app.py`, programa la conexión con tu base de datos.
86111

@@ -94,7 +119,7 @@ def connect():
94119

95120
## Tips adicionales
96121

97-
- Inicia sesión en tu base de datos usando: `psql -h localhost -u postgres`
122+
- Inicia sesión en tu base de datos usando: `psql -h localhost -U postgres`
98123
- Conéctate a una base de datos remota usando: `psql -h <REMOTE_HOST> -p <REMOTE_PORT> -U <DB_USER> <DB_NAME>`
99124
- Elimina una base de datos: `$ dropdb -h localhost -U <username> <db_name>`
100125
- Crea una BD en la nube de render.com y conéctate [siguiendo estos comandos](https://render.com/docs/databases#connecting-from-outside-render).

src/app.py

-19
Original file line numberDiff line numberDiff line change
@@ -1,19 +0,0 @@
1-
import os
2-
from sqlalchemy import create_engine
3-
import pandas as pd
4-
from dotenv import load_dotenv
5-
6-
# load the .env file variables
7-
load_dotenv()
8-
9-
# 1) Connect to the database here using the SQLAlchemy's create_engine function
10-
connection_string = f"postgresql://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}@{os.getenv('DB_HOST')}/{os.getenv('DB_NAME')}"
11-
engine = create_engine(connection_string).execution_options(autocommit=True)
12-
engine.connect()
13-
14-
# 2) Execute the SQL sentences to create your tables using the SQLAlchemy's execute function
15-
16-
# 3) Execute the SQL sentences to insert your data using the SQLAlchemy's execute function
17-
18-
19-
# 4) Use pandas to print one of the tables as dataframes using read_sql function

src/explore.es.ipynb

-68
This file was deleted.

src/explore.ipynb

-68
This file was deleted.

0 commit comments

Comments
 (0)