Archivo de la etiqueta: migraciones

Mascotas Perdidas Py

2 de Enero

Este es un post que ya debería de haber escrito hace mucho, bueno, suficiente sentimentalismo y culpa, al proyecto.

8 de Enero


Lo primero es crear un repositorio, esto lo hago en https://github.com/p431i7o/mascotas-perdidas-py , de momento este repositorio está marcado como privado, pero al momento de publicar los artículos ya estará como público.

Luego sigue crear una carpeta localmente donde montar el proyecto Laravel y correr los comandos para instalar paquetes


Esto es para crear el proyecto, lo muestro netamente para demostración

composer create-project laravel/laravel mascotas-perdidas-py

Esto instalará los paquetes php que necesita el framework para funcionar

composer install

Esto va instalar los paquetes javascript que necesita el proyecto

npm install


Y esto construirá las versiones compiladas (realmente minimizadas) de los paquetes javascript que se expondran en public, por detras corre un programa llamado vite, que vino a reemplazar al webpack que se usaba en versiones anteriores.

npm run build

16 de Enero

Probamos si funciona el proyecto ejecutando:

php artisan serve

y corroboramos en el navegador

Visualización del proyecto corriendo con el artisan serve

A continuación toca definir nuestras estructuras de datos.

Vamos a necesitar una tabla para registrar a nuestros usuarios, y en este punto quiero recordar que Laravel ya viene con algunas tablas listas para migrar y usar estas son:

Migraciones que ya vienen con Laravel

Lo siguiente es crear la base de datos desde nuestro DBM, en mi caso es pgAdmin para postgres, pero deberian poder hacer lo mismo con MySQL, el nombre que elegí para la base de datos es mascperdorgpy y luego editar nuestro archivo .env (que es el que guarda las configuraciones del sistema y seteamos lo valores de base de datos de acuerdo a las credenciales que tengamos, en mi caso:

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=mascperdorgpy
DB_USERNAME=postgres
DB_PASSWORD=<passwordMegaUltraSecreto>

También podemos aprovechar y setear un nombre para la App en la variable
APP_NAME="Mascotas Perdidas Org Py"
Recordar que el valor que se asigna en el .env tiene algun espacio, conviene que vaya entre comillas, pues sino puede producir un error o tomar solo la primera palabra.

Revisando la primera migracion, la llamada create_users_table.php podemos observar que contiene:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email',255)->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
            $table->softDeletes();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
};

Vemos que para la tabla users, tiene unos campos básicos, a estos campos agregaremos unos más que necesitaremos en el proyecto, como ser dirección, teléfono, etc (que podrán ser nulos, pero es importante poder contar con ellos dada la naturaleza de nuestro sitio)

$table->string('address',250)->nullable();
$table->string('city',250)->nullable();
$table->string('phone')->nullable();
$table->boolean('active')->default(true);

Con eso cerramos este día, en la siguiente entrada tocará elegir un método de autenticación, tendremos para elegir entre los diferentes starter kits de laravel, entre ellos está Breeze, Jetstream y Fortify.