2011-11-21 2 views
3

Scala에서 매퍼을 사용하여 테이블을 만들었습니다.Lift의 매퍼에서 외래 키 제약

class Stage extends Mapper[Stage] 
{     
    def getSingleton = Stage    
    object controlId extends MappedLongForeignKey (this,Control) { 
    override def dbNotNull_? = true 
    override def dbColumnName = "control_id" 
    } 
} 

그러나 내 테이블은 데이터베이스의 foreignKey 키에 대한 제약 조건을 만들지 않습니다.

+0

주석의 코드 형식이나 문장의 짧은 코드 단편에 대해서만 백틱을 사용하십시오. 온라인 편집기에서 텍스트를 표시하고 코드 형식 버튼 '{}'을 누르면 코드 레이아웃에 적합한 코드가 선택됩니다. –

답변

7

리프트 like Rails은 기본적으로 외래 키 제약 조건을 만들지 않습니다. 사용 설정하려면 MapperRules을 사용하면됩니다. 다른 데이터베이스 초기화 작업을 수행하기 전에 어딘가에 Boot에 넣으십시오.

MapperRules.createForeignKeys_? = (_) => true 

var에 createForeignKeys_?ConnectionIdentifier => Boolean 유형의 함수이다. 이 연결을 통해 외부 키 생성을 제어 할 수 있지만 대부분의 응용 프로그램은 단일 데이터베이스 연결 만 가질 수 있습니다.