Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

296
Vistas
La conexión de Laravel DB no se actualiza después de cambiar la configuración

Esta es mi conexión de base de datos que he especificado.

 'mysql_test' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database'=> '', 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, ],

Ahora estoy tratando de cambiar el valor de la database de datos del código y luego la conexión a la base de datos de esta manera

 for( $i = 1; $i <=4 ; $i++) { $db='test_'.$i; DB::connection('mysql_test')->statement('CREATE DATABASE '.$db.';' ); Config::set('database.connections.mysql_test.database' , $db); error_log(config('database.connections.mysql_test.database')); DB::reconnect('mysql_test'); error_log(DB::connection('mysql_test')->getDatabaseName()); }

el valor de config se cambia como en el primer error_log , obtengo mi valor de config modificado. Pero cuando me vuelvo a conectar a la misma conexión con la configuración actualizada, no obtengo el nombre de mi base de datos. La conexión no se asocia a ninguna base de datos.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Puede intentar purge la conexión para que se desconecte y la elimine de la memoria caché en el Administrador de base de datos:

 ... Config::set('database.connections.mysql_test.database', $db); DB::purge('mysql_test'); dump(DB::connection('mysql_test')->getDatabaseName());
over 4 years ago · Santiago Trujillo Denunciar

0

Debe volver a conectar la base de datos después de cambiar el valor de configuración

DB::reconnect("mysql_test");

over 4 years ago · Santiago Trujillo Denunciar

0

DB::Purge() me lo arregló. Parece que esto era necesario después de la actualización de Laravel 8.x. Antes, las tareas de Laravel cambiaban las conexiones de la base de datos cuando era necesario. Después de alguna actualización, ya no lo hicieron.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda