En Laravel 5 se integró el componente PHP dotenv con el cual podemos trabajar con las variables de entorno de de forma segura desde un archivo llamado .env ubicado en la raiz de nuestro proyecto. En el archivo .env podemos configurar la conexión con nuestro gestor de base de datos.
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=nombre_base_de_datos DB_USERNAME=root DB_PASSWORD=contraseña
Nota: laravel no crea de forma automática la base de datos, así que debes crear esta manualmente.
Desde laravel 5.4 a hoy día en su versión 6.13.1 se sigue presentando un error debido a un cambios realizado en el conjunto de caracteres predeterminado de la base de datos a «utf8mb4», el cual incluye soporte para almacenar emojis, afectando a las versiones anteriores a MySQL 5.7.7 y MariaDB 10.2.2.
Dicho error se presenta al ejecutar una migración, mostrando el siguiente mensaje.
Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes
Para solucionar este error debe editar su archivo «AppServiceProvider.php» ubicado en su proyecto en el directorio «app/providers» en dicho archivo encontrara el método boot donde debe establecer una longitud de cadena predeterminada, para ello importe la clase Schema y utilice el método estático «defaultStringLength».
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; //Importa la clase Schema use Illuminate\Support\Facades\Schema; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot() { //Define la longitud de cadena predeterminada Schema::defaultStringLength(191); } }
1 comentario en «Laravel: Configuración de la base de datos.»