2012-09-07 8 views
2

스키마가 자동으로 생성됩니다 (없는 경우). 현재 내가 스키마를 만들려면이 코드를 사용Nhibernate에서 스키마를 생성하지 않음

new SchemaExport(_configuration) 
      .SetDelimiter(";").SetOutputFile("schema.sql").Create(true, true); 

을하지만 난 그 두 가지 문제가 있습니다 그것은 일할 수있는 빈 스키마를 가질 필요가

1). 한 번만 사용하기 위해 관리자 자격 증명을 제공하면 빈 스키마와 사용자를 자체 생성해야합니다.

2) 스키마가 비어 있거나 쓸모없는 경우에만 스키마를 생성하고 싶습니다. 그게 nhibernate 확인을 가능합니까? 물론 오래된 스키마의 경우 사용자에게 스키마를 다시 생성할지 여부와 데이터를 느슨하게할지 묻는 방법이 필요합니다.

저는 MySql 5를 사용하고 있습니다. 그러나 이것은 구체적인 데이터베이스 공급자에 바인딩하지 않고도 가능할 것으로 기대합니다.

업데이트 : 사용자는 설치하는 동안 MySql을 설치하고 관리자 자격 증명을 입력해야합니다. 그 후에 그는 내 응용 프로그램을 실행할 수 있으며 사용자의 관리자 자격 증명을 요청하여 자신의 스키마, 사용자 및 권한을 할당해야합니다.

답변

2

꽤 대답했습니다. similar question here.

데이터베이스가 비어 있는지 확인하고 필요한 경우 데이터베이스를 만들어야합니다. 또한 스키마가 실제 매핑 정의에 해당하는지 확인하는 ValidateSchema 메서드가 있습니다. 다른 모든 것은 자신의 코드입니다.

사용자와 권한이 매핑 파일에 DatabaseObjects으로 설치 될 수도 있습니다.

관련 문제