Laravel 마이그레이션 작성시 index 존재 여부 확인하는 방법

Laravel에 테이블이나 컬럼이 존재하는지 확인하는 메소드는 있는데 index 존재 여부를 확인하는 메소드는 지원하지 않아서 다소 아쉬운 면이 있었습니다. 찾아보니 doctrine schema manager 를 사용하면 확인이 가능하더군요. Laravel로 마이그레이션 작성해보신 분들은 아래 예제 코드 보시면 바로 …

Continue reading

Laravel 테스트 작성중 POST로 리퀘스트 전송시 응답으로 200이 아닌 500이 온다면

csrf 토큰 때문입니다. app/Http/Middleware/VerifyCsrfToken.php 를 public function handle($request, Closure $next) { if (‘testing’ !== app()->environment()){ return parent::handle($request, $next); } return $next($request); } 이렇게 수정해서 test 환경에서는 토큰을 확인하지 않도록 해주는 방법이 있습니다. 다른 더 좋은 …

Continue reading

oak-online-alter-table를 이용하여 중단 없이 MySQL 테이블 변경하기

MySQL에서 테이블을 변경하면 테이블이 잠긴다. 그리고 데이터양에 따라 테이블 변경에 걸리는 시간이 달라진다. 그래서 데이터양이 많아지면 테이블을 변경시 서비스가 중단되는 경우가 발생할 수 있다. 중단 없이 MySQL 테이블을 변경할 수 있도록 해주는 툴로 아래의 것들이 …

Continue reading

MAMP 3.1로 업데이트 이후 Codeception 실행시 PDO 생성이 안되는 경우

엊그제까지만 해도 멀쩡히 동작하던 Codeception이 갑자기 PDO 생성이 안된다는 예외를 발생시키더군요. [CodeceptionExceptionModule] (Exception in Db) SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’ (using password: YES) while creating PDO connection 원인은 MAMP 업데이트 였는데, 아마도 MAMP가 …

Continue reading

Composer 인스톨시 Discard changes 를 자동으로 처리하는 방법

배포를 자동화하려면 composer install도 자동으로 완료되어야 합니다. composer install 을 하다보면 자주는 아니지만 가끔씩 discard-changes 에 대해 어떻게 처리를 할지 입력하도록 요구 받는데요, 이때 값을 입력해주지 않으면 더이상 패키지가 업데이트가 진행이 되지 않습니다. discard-changes 가 …

Continue reading