Configuración inicial
Concepto importantes a tener en cuenta:
- Modelo == Tabla (o Entidad) en una database
- Controlador == a un Archivo que se encarga de coordinar las diferentes solicitudes del usuario.
- Factories == una estructura de datos falsos con la que vamos a probar la app.
- Migración == estructura de una tabla que la vamos a tener dentro de Laravel, y luego creamos una tabla (o entidad) en la database.
Para poder utilizar el comando Laravel new
tienes que tener instalado el CLI de Laravel en la computadora. Si este no es tu caso, y instalas todo por la consola de Linux o WSL, utilizas la instalación estándar con Composer.
composer create-project --prefer-dist laravel/laravel laravel-8 && cd laravel-8
Después instalamos Jetstream
composer require laravel/jetstream
Y al final, utilizamos los comandos de artisan para descargar inertia.js
php artisan jetstream:install inertia
Para finalizar corremos los comandos npm y hacemos un migrate a la base de datos que hemos creado para el proyecto y especificado en el archivo .env
npm install && npm run dev
php artisan migrate
<h3>Para solucionar el problema de migrate</h3>
Para quienes estén usando XAMPP el cual usa MariaDB les saltará un error
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))
Esto se soluciona fácil, necesitan ubicar el archivo app/Providers/AppServiceProvider.php, luego en el incluyen el namespace
use Illuminate\Support\Facades\Schema;
y en la función boot() necesitan agregar lo siguiente:
public function boot()
{
//
Schema::defaultStringLength(191);
}
Con esto pueden volver a correr el comando de migración con php artisan migrate:fresh
para eliminar todas las tablas y volverlas a migrar y les debe de solucionar el problema.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?