Laravel: BD, despliegue, comandos sin consola...
Consejos varios para trabajar con Laravel.
Crear proyecto:
composer create-project laravel/laravel .
Instalar dependencias [OBSOLETO]
npm install
Si ya usas npm y quieres cambiar a pnpm [RECOMENDADO]
iwr https://get.pnpm.io/install.ps1 -useb | iex
Una vez instalado pnpm, deberás aplicarlo a cada proyecto
rm -r -fo node_modules
pnpm install
pnpm approve-builds
Y añade esto al pnpm-workspace.yaml (sustitúyelo si es necesario)
onlyBuiltDependencies:
- esbuild
Instalar Breezee (autenticación) y crear sus vistas:
composer require laravel/breeze --dev
php artisan breeze:install blade
Si Breeze se carga el CSS de Vite:
pnpm install autoprefixer --save-dev
pnpm install
Tests (Pest):
composer require pestphp/pest --dev --with-all-dependencies
php artisan pest:install
Vistas dinámicas (Livewire):
composer require livewire/livewire
TailwindCSS:
pnpm install tailwindcss @tailwindcss/vite
pnpx tailwindcss init -p
Markdown:
composer require erusev/parsedown
Instalar Laravel Boost
composer require laravel/boost --dev
php artisan boost:install
Actualiza todo en local (actualiza dependencias; cuidado) y testea:
composer update
pnpm update
php artisan boost:update
php artisan test
Preparar para producción:
composer install --no-dev --optimize-autoloader
pnpm install
pnpm prune
Limpiar cachés viejas, reconstruir optimizaciones y compilar assets de frontend:
php artisan optimize:clear
php artisan queue:clear
php artisan optimize
pnpm run build
Opcional (seguridad):
composer audit
pnpm audit
Modo producción (sin cosas dev, más rápido):
composer install --no-dev --optimize-autoloader
Volver a desarrollo (con dev y normal):
composer install
Recuerda que en Laravel el punto accesible es la carpeta public, así que deberás configurar esa carpeta del dominio como la raíz en tu hosting.
Si tu hosting no tiene consola y necesitas ejecutar algún comando, puedes crear una ruta temporal en routes/web.php como la siguiente:
Route::get('/comando', function () {
Artisan::call('nombre:comando');
return 'Comando ejecutado';
});
Y al terminar recuerda ELIMINAR ese archivo (por seguridad).
Y si necesitas ejecutar algún cambio en tu base de datos cuando la web ya está en producción, recuerda que puedes ir al PHPMyAdmin de tu hosting y ejecutas el código SQL correspondiente antes de subir los cambios de la web.