Base de datos
Ir a la navegación
Ir a la búsqueda
Bases de Datos Compatibles con Laravel
Laravel es un framework flexible que soporta múltiples sistemas de gestión de bases de datos (SGBD), lo que permite a los desarrolladores elegir la mejor opción según sus necesidades específicas. Los SGBD más comunes que se utilizan con Laravel incluyen:
- MySQL/MariaDB
- MySQL es una de las bases de datos relacionales más populares y es ampliamente utilizada en aplicaciones web. MariaDB es un fork de MySQL que es 100% compatible y ofrece mejoras en rendimiento y seguridad. Laravel ofrece soporte nativo para ambas:
- Configuración: La configuración para MySQL y MariaDB se realiza en el archivo config/database.php:
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ],
- PostgreSQL
- PostgreSQL es una base de datos relacional avanzada que es conocida por su cumplimiento de estándares, extensibilidad y robustez. Es una excelente opción para aplicaciones que requieren características avanzadas como tipos de datos personalizados, transacciones complejas y consultas sofisticadas.
- Configuración: La configuración para PostgreSQL es similar a la de MySQL, pero con un controlador diferente:
'pgsql' => [ 'driver' => 'pgsql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '5432'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', 'sslmode' => 'prefer', ],
- SQLite
- SQLite es una base de datos ligera y autosuficiente que se guarda en un solo archivo. Es ideal para aplicaciones pequeñas, desarrollo local, pruebas, y proyectos que no requieren un SGBD completo.
- Configuración: Configurar SQLite en Laravel es sencillo; solo necesitas especificar la ruta del archivo de la base de datos:
'sqlite' => [ 'driver' => 'sqlite', 'database' => env('DB_DATABASE', database_path('database.sqlite')), 'prefix' => '', ],
Puedes crear la base de datos con el siguiente comando:
touch database/database.sqlite
- SQL Server
SQL Server es un SGBD desarrollado por Microsoft. Es adecuado para aplicaciones empresariales que requieren integración con otros productos de Microsoft, como .NET y Azure.
- Configuración: La configuración para SQL Server es la siguiente:
'sqlsrv' => [ 'driver' => 'sqlsrv', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '1433'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', 'schema' => 'dbo', 'sslmode' => 'prefer', ],
- Redis
- Redis no es un sistema de base de datos relacional, sino una base de datos en memoria basada en clave-valor. Es ideal para almacenamiento en caché, colas de tareas y almacenamiento temporal de datos. Laravel tiene soporte nativo para Redis a través de su componente Cache y Queue.
- Configuración: Puedes configurar Redis en el archivo config/database.php:
'redis' => [ 'client' => env('REDIS_CLIENT', 'phpredis'), 'options' => [ 'cluster' => env('REDIS_CLUSTER', 'redis'), 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), ], 'default' => [ 'url' => env('REDIS_URL'), 'host' => env('REDIS_HOST', '127.0.0.1'), 'username' => env('REDIS_USERNAME'), 'password' => env('REDIS_PASSWORD'), 'port' => env('REDIS_PORT', '6379'), 'database' => env('REDIS_DB', '0'), ], 'cache' => [ 'url' => env('REDIS_URL'), 'host' => env('REDIS_HOST', '127.0.0.1'), 'username' => env('REDIS_USERNAME'), 'password' => env('REDIS_PASSWORD'), 'port' => env('REDIS_PORT', '6379'), 'database' => env('REDIS_CACHE_DB', '1'), ], ],
Cabe mencionar que los SGBD anteriormente mencionados son los más comunes. Laravel también puede ser configurado para trabajar con otros sistemas de bases de datos mediante extensiones o paquetes adicionales.