2017-10-28 12 views
0
내 설정을 확인

/database.php은 DB 연결 정보를 찾을 수 없습니다

내가 가진 :

'default' => env('DB_CONNECTION', 'mysql'), 

을 내 관련하여 내가 가진 :

'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, 

하지만 보인다 내 DB 구성 areh 어딘가에 일어나는 elh, 나는 또한 나의 venable을 내 .env 파일에 정의했다. 하지만 내 응용 프로그램 디렉토리에있는 마이그레이션을 실행, 그것은 오류 아웃 :

[를 분명히 \ 데이터베이스 \의 QueryException]
SQLSTATE [42S21가] : 열이 이미 존재 : 1060 중복 열 이름 'usernam 전자'(SQL : 이미 사용자 수에 대한 마이그레이션 파일을 수행하고 있지만 username VARCHAR (191) 널)

를 추가 테이블 users을 변경 (그것의 PHP 확장) 이름

어떤 도움이 될 것입니다 고맙습니다.

편집 : 마이그레이션 파일은/database/migrations 이외의 곳에 저장됩니까? .

+0

이전 중이십니까? 이미'users' 테이블에'username' 컬럼이 있습니다. – Jonjie

답변

0

오류 duplicate column name 'username'는 데이터베이스가 일어날 것 같았다 무엇에

username을 가지고 users라는 테이블이 있습니다 나타냅니다 당신이 php artisan migrate:rollback 않았다 전에 Laravel에서 마이그레이션 파일을했다. 이로 인해 마이그레이션에서 작성한 모든 스키마 구조가 데이터베이스에 남아있게되었습니다. 동일한 구조가 이미 데이터베이스에서 발견되므로 분명히 동일한 마이그레이션을 다시 실행할 수 없습니다.

해야 할 일 : mysql 서버에 로그인하여 데이터베이스를 다시 삭제하고 다시 만드십시오.

  1. mysql -u root -p 그러면 mysql 서버의 비밀번호를 묻는 메시지가 표시됩니다.

    create database your-db-name

  • drop database your-db-name

    그런 다음 php artisan migrate, 다시 마이그레이션을 실행합니다.

    는 또한 당신은 파일 'database.sqlite'에서 /database/ 폴더를 생성하고 .env의의 DB_CONNECTIONsqlite에 변경할 수 있습니다 방법을

    을 진단합니다.

    마이그레이션을 실행하고 롤백 한 다음 다시 실행하십시오. 언제든지 망가 뜨리면 마이그레이션 파일에 문제가 있다는 뜻입니다.

  • 관련 문제