질문을 삭제하지 말아주세요.!
 
1
0
-1

Laravel 4.2 버젼에서의 문제이긴 한데

제목의 건으로 시도는 5.4 에서 해 보았는데

개인적인 실험에서는 안되더군요.

DB 연결은 오직 .env 의 DB연결 변수에 할당한

하나만 쓸 수 있게 되어 있더군요.


queue failed table 에 대해서만 메인 DB 부하도 줄일 겸

sqlite 를 사용하고 싶은데 방법이 없을지요?


---


/app/config/database.php

'connections' => array(

   'sqlite' => array(
      'driver'   => 'sqlite',
      'database' => __DIR__.'/../database/production.sqlite',
      'prefix'   => '',
   ),

   'mysql' => array(
      'driver'    => 'mysql',
      'host'      => 'localhost',
      'database'  => 'homestead',
      'username'  => 'homestead',
      'password'  => 'secret',
      'charset'   => 'utf8',
      'collation' => 'utf8_general_ci',
      'prefix'    => '',
   ),

/app/config/queue.php

'failed' => array(
 'database' => 'sqlite', 'table' => 'failed_jobs',
)


쉘 명령 php artisan queue:failed-table 로 migration 생성하고

php artisan migrate 하면

connection['mysql'] 에 failed_jobs 테이블이 생성되어버리는데

connection['sqlite'] 에 생성 되게 하고자 합니다.

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      config/database.php 에

      'mysql' 아래에다가 추가로 DB 서버를 정의하세요.


      그리고 사용할때는 해당 모델에서 protected $connection = '';

      로 정의해서 쓰면 됩니다.


      1. VoidNoble

        /app/config/database.php 에는 여러 DB 연결 정보를 입력 할 수 있는것을 알고 있습니다.

        아래와 같이 설정 했구요.

        'connections' => array(
        
           'sqlite' => array(
              'driver'   => 'sqlite',
              'database' => __DIR__.'/../database/production.sqlite',
              'prefix'   => '',
           ),
        
           'mysql' => array(
              'driver'    => 'mysql',
              'host'      => 'localhost',
              'database'  => 'homestead',
              'username'  => 'homestead',
              'password'  => 'secret',
              'charset'   => 'utf8',
              'collation' => 'utf8_general_ci',
              'prefix'    => '',
           ),


        queue 의 failed table 은 /app/config/queue.php 에 따로

        connection 에 대한 정의를 했습니다.

        'failed' => array(
         'database' => 'sqlite', 'table' => 'failed_jobs',
        )


        쉘 명령 php artisan queue:failed-table 로 migration 생성하고

        php artisan migrate 하면

        connection['mysql'] 에 failed_jobs 테이블이 생성됩니다.

        제 목표는 connection['sqlite'] 에 생성 되게 하는것입니다.

      2. 남원규
        Schema::connection('sqlite')->create('failed_jobs', function (Blueprint $table) {

        로 처리하셔야 할 겁니다.

      CommentAdd your comment...