2017-04-27 1 views
0

테스트하는 동안 마이그레이션을 실행하는 데 문제가 있습니다. 나는 다른 곳에서 이전을하고있다. 사용자 마이그레이션은 회사 마이그레이션에 따라 다르지만 테스트를 실행할 때마다 '회사'테이블이 존재하지 않는다는 오류가 발생합니다. 테스트 클래스에서테스트 도중 Laravel의 마이그레이션이 제대로 작동하지 않습니다.

코드 :

protected function setUp() 
{ 
    parent::setUp(); 

    $this->artisan('migrate', [ 
     '--path' => ['Modules/Company/Database/Migrations', 
          'Modules/User/Database/Migrations'], 
    ]); 
} 

protected function tearDown() 
{ 
    $this->artisan('migrate:reset', [ 
     '--path' => ['Modules/User/Database/Migrations', 
          'Modules/Company/Database/Migrations'], 
    ]); 

    parent::tearDown(); 

} 

사람이, 제발 도움이 될 수 있습니다. 감사합니다.

답변

1

문제 두 곳에이었다

  • 1) 옵션 --path 배열로서 제공 하였다 (하지만 경고가 표시되지 않는다);
  • 2) 명령 migrate : reset (제공되는 --path를 사용하여 모든 마이그레이션을 재설정하므로 '정의되지 않은 색인 : create_company_table'오류가 발생합니다.)

최종 버전.

protected function setUp() 
{ 
    parent::setUp(); 
    $this->artisan('migrate', [ 
     '--path' => 'Modules/Company/Database/Migrations', 
    ]); 
    $this->artisan('migrate', [ 
     '--path' => 'Modules/User/Database/Migrations', 
    ]); 
} 

protected function tearDown() 
{ 
    $this->artisan('migrate:rollback', [ 
     '--path' => 'Modules/User/Database/Migrations/', 
    ]); 
    $this->artisan('migrate:rollback', [ 
     '--path' => 'Modules/Company/Database/Migrations/', 
    ]); 

    parent::tearDown(); 

} 
관련 문제