CakePHP로 webapp을 작성하려고하는데 대부분의 웹 애플리케이션과 마찬가지로 데이터베이스가 초기화되었는지 여부를 감지하는 설치 프로그램을 만들고 싶습니다. .CakePHP 프레임 워크 내에서 데이터베이스 테이블 생성을 자동화하십시오.
이 프로세스는 완전히 자동화됩니다 (데이터베이스 자체는 이미 존재하며 암호가없는 익명 계정을 통해 전체 관리 액세스 권한이 부여 된 것으로 가정합니다 ... 이것은 샌드 박스 환경을위한 것이므로 보안에 대한 걱정은 없습니다) 따라서 데이터베이스 테이블이 생성되고 초기화 된 경우에는 요청에 관계없이 감지 할 수 있어야합니다. 그렇지 않은 경우 초기화를 투명하게 수행 한 다음 사용자의 원래 요청을 처리해야합니다.
모든 요청이 라우팅되는 일종의 부트 스트랩 컨트롤러를 작성하고 단일 SQL 쿼리를 실행하여 데이터베이스 테이블이 존재하는지 확인하는 것이 좋지만이 방법은 번거롭고 (컨트롤러에 해당 모델이 필요하며 ' 여기에있는 경우). 다른 가능성은 AppModel을 덮어 쓰고 동일한 테스트를 배치하는 것이 었습니다.하지만이 행을 따라 문서가 없기 때문에이를 수행하는 방법을 확신 할 수 없었습니다.
미리 감사드립니다.
TL; DR 버전 :는 J2EE 서블릿의 "초기화()"메소드의 (또는 방법에 해당하는이 CakePHP를 위해 쓸 수) CakePHP의 상응하는 무엇입니까?
그게 실제로 내가 뭘 찾고 있었는지 - 오류 페이지에 자동으로 테이블을 채울 스크립트에 링크를 제공하거나 생성 된 오류 인 경우 오류 클래스 내에서 간단하게 처리하는 것입니다. 감사! – Magsol
@Magsol 정확히 이것을 어떻게 구현 했습니까? 궁금해. – khany
확신하기가 힘들다. - 얼마 전에 있었지만, 나는'AppError' 클래스를 만들고 데이터베이스 스키마를 생성하는 코드로'missingTable' 에러 함수를 오버라이드했다. 소금 한 알갱이로 이것을 가져 가라. 나는 CakePHP가 5 년 만에 크게 변했다고 의심한다! – Magsol