12 días de: configurar una base de datos PostgreSQL para recordatorios de cumpleaños
Las vacaciones son el momento perfecto para probar algo nuevo, especialmente cuando hay un poco más de tiempo de inactividad. Es por eso que estamos lanzando 12 días de DigitalOcean, una divertida serie de aprendizaje en la que crearemos dos aplicaciones del mundo real paso a paso. Durante los próximos 12 días, aprenderá cómo combinar los servicios de DigitalOcean para resolver problemas prácticos mientras construye algo útil.
Esto es lo que crearemos:
- Servicio de recordatorio de cumpleaños: envía recordatorios por SMS para cumpleaños y aniversarios, sin saturar tu calendario.
- Procesador de recibos por correo electrónico: extrae automáticamente detalles clave de los recibos enviados por correo electrónico y los almacena en una base de datos.
Estas aplicaciones son sencillas, útiles y divertidas de crear. Además, le mostrarán cómo las herramientas de DigitalOcean (como bases de datos, funciones sin servidor y almacenamiento de objetos) pueden combinarse en casos de uso del mundo real.
Hoy comenzamos con el servicio de recordatorio de cumpleaños configurando una base de datos PostgreSQL para almacenar contactos. ¡Vamos a sumergirnos!
✨ Servicio de recordatorio de cumpleaños del edificio
Todos queremos recordar fechas importantes, pero mantener cada cumpleaños o aniversario en el calendario puede resultar complicado rápidamente. Esta aplicación resuelve ese problema con un servicio liviano que te envía un recordatorio por SMS en el momento justo.
Al final de esta serie, tendrás una aplicación que es útil, fácil de mantener y mantiene tu calendario limpio.
🚀 Lo que aprenderás
Aquí está el plan para hoy:
- Configure una base de datos PostgreSQL en DigitalOcean.
- Conéctese a él utilizando la herramienta de línea de comandos
psql
. - Cree una tabla para almacenar detalles de contacto como nombres y cumpleaños.
- Agregue datos de muestra para probar su configuración.
Esta base de datos servirá como base para nuestra aplicación, manteniendo todo organizado y listo para la lógica que agregaremos más adelante.
🛠 Lo que necesitarás
Para comenzar, necesitará una cuenta de DigitalOcean, ya que crearemos nuestra base de datos PostgreSQL utilizando las bases de datos administradas de DigitalOcean (regístrese aquí si aún no tiene una).
🧑🍳 Receta para el día 1: configurar su base de datos
Paso 1: crea la base de datos 🗂
- Inicie sesión en su panel de DigitalOcean.
- Navegue a la sección Bases de datos y cree una nueva base de datos PostgreSQL.
- Elija el plan más pequeño disponible por ahora (perfecto para experimentar).
- Guarde las credenciales de su base de datos (nombre de host, nombre de usuario, contraseña y nombre de la base de datos). ¡Las necesitará en el siguiente paso!
Paso 2: Conéctese a la base de datos 🔗
Hay algunas formas diferentes de conectarse a un PostgreSQL alojado en DigitalOcean. Puede optar por utilizar una herramienta GUI como pgAdmin o TablePlus. Para este tutorial, nos centraremos en el uso de psql, un cliente de línea de comandos liviano que funciona en todas las plataformas, pero siéntase libre de seguirlo usando su herramienta favorita.
Si aún no ha instalado psql
, diríjase a la página de descarga oficial de PostgreSQL para obtener instrucciones sobre cómo instalarlo en su sistema operativo.
Una vez que esté listo, conéctese a su base de datos usando las credenciales del Paso 1 anterior. En la terminal, escriba:
psql -h <hostname> -U <username> -d <database_name> -p 5432
Si ve el mensaje psql
, ¡está conectado! 🎉
Paso 3: Crea la tabla de contactos 📋
Con su base de datos lista, creemos una tabla para almacenar los datos de contacto. Ejecute este comando SQL en su sesión psql
:
CREATE TABLE contacts (
id SERIAL PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
birthday DATE
);
Esta tabla incluye:
id
: Un identificador único para cada contacto.first_name
: el nombre del contacto.last_name
: El apellido del contacto.cumpleaños
: la fecha de su cumpleaños.
Y eso es todo: tienes una tabla de contactos lista para la acción.
Paso 4: agregue contactos de muestra 📝
Ahora que su tabla está lista, insertemos algunos datos de muestra para probarla. Ejecute los siguientes comandos INSERT
en su sesión psql
:
INSERT INTO contacts (first_name, last_name, birthday)
VALUES ('Alice', 'Smith', '1990-05-15');
INSERT INTO contacts (first_name, last_name, birthday)
VALUES ('Bob', 'Johnson', '1985-11-23');
INSERT INTO contacts (first_name, last_name, birthday)
VALUES ('Charlie', 'Brown', '2000-01-10');
Puede verificar que los datos se agregaron correctamente ejecutando:
lSELECT * FROM contacts;
Esto debería mostrar una lista de los contactos que acaba de agregar. 🎉
(Opcional) Paso 5: Pruebe una GUI 🖥
Si prefiere administrar bases de datos con una GUI, aquí tiene dos excelentes opciones:
- pgAdmin: una herramienta gratuita y de código abierto para PostgreSQL
- TablePlus: una opción moderna y fácil de usar para la gestión de bases de datos.
Ambas herramientas le permiten conectarse a su instancia de DigitalOcean PostgreSQL, crear tablas y administrar datos sin necesidad de escribir comandos SQL directamente.
Aquí hay un ejemplo de TablePlus en acción, que muestra la tabla de contactos que creamos anteriormente:
(Opcional) Paso 6: Asegure su base de datos 🔒
Las bases de datos siempre deben estar protegidas para evitar el acceso no autorizado. Para mantener todo seguro, vaya a la sección Fuentes confiables en la configuración de su base de datos en DigitalOcean y agregue la dirección IP de su máquina local. Este paso garantiza que solo su computadora pueda acceder a la base de datos mientras desarrolla. Para obtener más detalles sobre seguridad avanzada, consulte Cómo proteger los clústeres de bases de datos administradas de PostgreSQL.
🎁 Resumen
Esto es lo que logró hoy:
✅ Configure una base de datos PostgreSQL en DigitalOcean.
✅ Conectado a él mediante psql
.
✅ Creé una tabla para almacenar datos de contacto.
✅ Se agregaron algunos datos de muestra para probar su configuración.
✅ Protegió su base de datos con fuentes confiables.
A continuación: mañana conectaremos esta base de datos a un script de Python y comenzaremos a agregar la lógica para enviar recordatorios por SMS. ¡Hasta luego!