2009-09-18 2 views
2

저는 CakePHP에 익숙하지 않아서 CakePHP와 함께 제공되는 schema shellJoel MossGeorgi Momchilov으로 작성된 마이그레이션 도구를 결정하려고합니다.CakePHP 스키마 셸 또는 마이그레이션에서 외래 키가 지원됩니까?

지금까지 외래 키 제약 조건을 만드는 데 직접 지원을 찾지 못했습니다. 외래 키를 생성하기 위해 마이그레이션에서 원시 SQL을 작성할 수있는 것으로 보입니다.

내가 놓친 것이 있습니까? 어딘가에 지원이 있습니까? 외래 키를 사용해야합니까? CakePHP 나 Ruby on Rails와 관련하여 외래 키 제약 조건이 권장되지 않는다는 의견을 보았습니다. 우리의 데이터베이스는 하나의 응용 프로그램에서만 사용됩니다.

+0

CakePHP에서 저의 경험에 비추어 볼 때, 외래 키를 생성하는 것은 데이터베이스에 주석을 추가하는 것만큼이나 무의미합니다. 스키마 셸은 행복하게 모든 것을 제거합니다. –

답변

2

저는 낙심 한 말은하지 않습니다. CakePHP와 Rails 모두 외래 키가 제공하는 데이터 무결성은 프레임 워크에 의해 처리됩니다. 즉, 모든 일을 "올바른"방식으로 수행하는 경우에만 사실입니다. 자신의 SQL을 작성하거나 비표준 방식으로 조작하거나 다른 방법을 통해 데이터에 액세스/조작하는 경우 외래 키는 분명히 좋은 생각입니다.

나는 CakePHP에 대한 이전 도구를 사용한 적이 없지만, 제한된 레일스에서는 항상 SQL을 사용하여 마이그레이션 할 때 키를 적용했습니다. 그렇게하면 두 가지 모두의 고유 한 이점을 얻을 수 있습니다. 마이그레이션을 수행하고 특정한 결과를 얻기 위해 프레임 워크를 채울 경우를 대비하여 도메인 제약 조건을 갖습니다.

+2

이것이 내가 끝내었던 것입니다 : 외래 키 제약 조건을 생성하기 위해 커스텀 SQL을 이용한 마이그레이션. –

관련 문제