Base de datos y migraciones en NativePHP

Base de datos y migraciones en NativePHP

¡Hola a todos! ¿Cómo están? ¡Bienvenidos nuevamente al curso de NativePHP! En esta clase, veremos uno de los componentes más importantes, la gestión de la base de datos y las migraciones en NativePHP.

En esta oportunidad crearemos una pequeña aplicación de escritorio para del registro y seguimiento de pacientes con todas las funcionalidades y controles que una aplicación requiere, al finalizar el curso habremos creado una aplicación sencilla pero funcional aplicando las funcionalidades más conocidas de NativePHP. Así conoceremos más este nuevo paquete de PHP que sin duda dará de qué hablar en un futuro.

¡Empecemos!

Base de datos en NativePHP

Actualmente NativePHP acepta solo la conexión con una base de datos en SQLite (aún se trabaja para que se pueda conectar con otros gestores de base de datos como MySQL o PostgreSQL). Al igual que Laravel utiliza las migraciones para crear la estructura de la base de datos de manera controlada y versionada.

Desplegar tu proyecto Laravel a producción

Adquiere la guía en formato PDF

Crear una base de datos

Si bien al instalar un nuevo proyecto de NativePHP viene por defecto el archivo de configuración .env esta aún no se utiliza para la conexión con la base de datos. Por defecto trae el archivo de base de datos “nativephp.sqlite” que nos servirá para crear las migraciones y generar las tablas.

SQLite NativePHP

Migraciones en NativePHP (Migrations)

Al igual que en las migraciones de Laravel. NativePHP crear las migraciones en el directorio “database/migrations”. Para crear las migraciones utilizaremos Artisan (interfaz de línea de comandos de Laravel). Primeramente, crearemos la migración para “Pacientes” ejecutando la siguiente línea de comandos:

php artisan make:migration create_pacientes_table
Crear Migraciones en NativePHP

Este comando de Artisan creará un nuevo archivo de migración en el directorio “database/migrations”, NativePHP asigna automáticamente un nombre al archivo con un timestamp seguido del nombre que le fue asignado en nuestro caso “Pacientes” (con el fin de que las migraciones se ejecuten en el orden en que fueron creadas).

Ahora crearemos las columnas de nuestra tabla “Pacientes”, en nuestro ejemplo crearemos los campos: código, nombre, apellido, género, whatsapp, dirección y antecedentes médicos, cada campo con su tipo y característica.

$table->integer('codigo');
$table->string('nombre', 35);
$table->string('apellido', 35);
$table->enum('genero', ['Masculino', 'Femenino']);
$table->string('whatsapp', 15)->nullable();
$table->string('direccion', 250)->nullable();
$table->string('antecedentes_medicos', 75)->nullable();
Campos de migraciones NativePHP

Realizaremos los mismos pasos esta vez para crear la migración de “Historiales médicos”, ejecutamos el siguiente comando:

php artisan make:migration create_historiales_table

Crearemos las columnas de nuestra tabla “Historiales”, con los campos: fecha atención, motivo consulta, tratamiento, detalle tratamiento y costo consulta, cada campo con su tipo y característica. También crearemos la referencia con la tabla “Pacientes” si realizamos la relación entre tablas notamos que es una relación uno a muchos (un paciente tiene varios consultas y una consulta se realiza a un solo paciente).

$table->date('fecha_atencion');
$table->string('motivo_consulta', 250);
$table->string('tratamiento', 250);
$table->text('detalle_tratamiento');
$table->decimal('costo_consulta', 10,2);

$table->unsignedBigInteger('paciente_id')->nullable();
$table->foreign('paciente_id')->references('id')->on('pacientes')->onDelete('cascade');

Ejecutar las migraciones

Una vez creado las migraciones con sus respectivos campos, es hora de crear la base de datos ejecutando las migraciones con el siguiente comando de Artisan:

php artisan native:migrate
PHP Artisan Native Migrate

Artisan automáticamente ejecutará la migración y creará la tabla “Pacientes” y “Historiales” en la base de datos “nativephp.sqlite” con los campos correspondientes. Existen muchos más tipos de columnas que podemos aplicar a cada campo que vayamos creando (puedes visitar el sitio oficial de Laravel para ver todos los tipos de datos que podemos aplicar). Hoy vimos los tipos más básicos y comunes que podemos utilizar para crear nuestra base de datos.

Para poder verificar la base de datos creada podemos utilizar la herramienta https://sqliteonline.com, que es un sitio web que proporcionaba una plataforma en línea para cargar y ejecutar consultas con bases de datos SQLite.

SQLite online

Si tienes dudas o comentarios de esta clase, base de datos y migraciones en NativePHP escríbenos para aclarar tus dudas. hasta la próxima clase.

¡Te espero en la siguiente clase!

Saludos y éxitos.

Victor Peña

Victor Peña

Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.

2 comentarios en “Base de datos y migraciones en NativePHP”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *