작은 데이터베이스 DDL 스크립트와 많은 수의 INSERT 및 UPDATE 기반 데이터베이스를 생성해야하므로 형식 관련 DB 방언 독립 SQL 생성기로 jOOQ를 사용할 것을 고려하고 있습니다. 더 큰 응용 프로그램 내에서 즉시 진술. 그런 다음 파일을 다운로드로 제공합니다.다른 SQLDialect에서 JOOQ Metamodel에서 스키마 생성
나는 MySQL에서 수동으로 초기 DB 스키마를 생성하고이를 사용하기 위해 jOOQ 클래스를 생성했다. 현재 JOOQ는 빈 MySql 스키마에 많은 수의 삽입을 생성하는 데 사용됩니다. 이것은 잘 작동합니다.
내가 다른 DB 제도의 선택에 수출 할 수있는 사용자 제공하고 싶습니다 : sqlite
, MySQL/Maria
, Postgres
및 라이센스 어쩌면 Access
다음, 상업 경우, Oracle
등 예를 물론
List<DSLContext> dbdialects = new ArrayList<DSLContext>();
dbdialects.add(using(SQLDialect.MYSQL));
dbdialects.add(using(SQLDialect.FIREBIRD));
dbdialects.add(using(SQLDialect.SQLITE));
//other dialects including MS Access available via commercial license.
for (DSLContext create : dbdialects) {
String dialect = create.configuration().dialect().toString();
String sql = create.insertInto(EMPLOYEES)
.set(EMPLOYEES.FIRST_NAME, fn)
.set(EMPLOYEES.LAST_NAME, ln)
.getSQL(ParamType.INLINED);
System.out.println(dialect + "\t" + sql);
}
, 나는 각 RDBMS에 대한 손으로 기본 스키마를 다시 만들 수 있습니다,하지만이 발생하기 쉬운, 지루한 오류이며 불필요한 것 : 내가 만든 jOOQ에서 생성 된 메타 모델을 사용하는 영리한 방법이없는 내 MySQL DB 스키마를 사용하여 다른 SQL 방언의 스키마를 생성 하시겠습니까?
감사합니다 - 확실히 유지합니다 우리의 레이더 에서이 프레임 워크! – sprockets
@sprockets : 좋습니다! 나는 당신의 재미있는 유스 케이스에 대해 더 많이 배우고 싶다. 빠른 채팅을 원하시면 Google에 문의하십시오. –
최신 버전이 있습니까? –