2017-11-27 4 views
0

here과 같이 Spring Cloud Schema Registry Server를 실행하려고합니다. 다시 시작할 때까지 스키마를 유지하기를 원하기 때문에 MySQL을 사용하고 싶습니다. 하지만 응용 프로그램 시작시 다음 오류가 발생했습니다 : Table 'sr.schema_repository' doesn't exist.스프링 스키마 레지스트리 서버 및 MySQL

내 자신이 필요한 테이블을 직접 만들어야한다는 뜻입니까? 그러나이 테이블의 구조는 무엇입니까? 그리고 기본 임베디드 H2 데이터베이스를 사용할 때 필요한 테이블이 자동으로 생성되는 이유는 무엇입니까? 다음이 단계를 수행 할 필요가 외부 데이터베이스와 설정 SpringSchemaRegistry으로

답변

0

1 단계 : 첫 번째 단계로 데이터베이스-드라이버

을 추가, 당신은 당신의 모듈에 데이터베이스 JDBC 드라이버를 추가해야 (gradle/maven).

2 단계 : 당신의 application.yml

spring: 
    datasource: 
    url: jdbc:mysql://localhost/schema-registry 
    username: schema-registry 
    password: schema-registry 
    testWhileIdle: true 
    validationQuery: SELECT 1 

3 단계로 데이터 소스 구성을 추가 만들기 테이블

당신은 설정 테이블이 만들어지고 모든 시작시 자동으로 업데이트되도록 ddl-auto 최대 절전 수 있습니다. 그러므로 application.yml 파일에 다음을 추가하십시오.

spring: 
    jpa: 
    hibernate: 
     ddl-auto: update 

참고 : ddl-auto: update 자동으로 테이블을 생성하고 모든 시작에 그들을 업데이트 할 때 (또는 어쩌면 당신의 네이밍 전략)에 JPA 엔티티 변경 뭔가.

원하는 경우 표가 하나만 필요합니다. 다음 SQL 스크립트로 쉽게 작성할 수 있습니다.

CREATE TABLE `schema_repository` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `definition` longtext NOT NULL, 
    `format` varchar(255) NOT NULL, 
    `subject` varchar(255) NOT NULL, 
    `version` int(11) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; 

이 스크립트는 MySQL 용이지만 구조는 매우 간단하므로 선호하는 데이터베이스에 쉽게 적용 할 수 있습니다.