데이터베이스가 하나만 존재하는 경우에는 application.yaml에서 해당 datasoucre url만 연결하면 사용이 가능했다.
그러나 데이터베이스가 여러 개 존재하는 경우에는 여러 datasource를 만들어서 transaction도 잡아주고 DB 위치도 잡아줘야 한다.
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
datasoucre 연결하고 config 클래스 파일 다 연결해줬는데도 안 됨..
driver랑 url 다 매핑해줬는데 왜 ? ? ? ?
=>
build.gradle에
implementation('com.h2database:h2')
추가해서 해결!
Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
=>
application.yaml파일에
spring:
jpa:
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
코드 다 변경
이제 DB 분리해서 multi datasource 연결하는건 성공함 ! ! !
근데 이제 끝이보인다
테이블 만들어지는중인듯.. ㅠ 흑
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "CREATE TABLE USER_BASE_ENTITY (DTYPE VARCHAR(31) NOT NULL, ID VARCHAR(13) NOT NULL AUTO_INCREMENT, KAKAO_ID VARCHAR(255), EMAIL VARCHAR(255), NAME VARCHAR(255), PHONE_NUMBER VARCHAR(255), PROFILE_IMAGE_URL VARCHAR(255), KAKAO_TOKEN VARCHAR(255), PRIMARY KEY (ID)) ENGINE=[*]INNODB"; expected "identifier"; SQL statement:
reference
https://growing-up-constantly.tistory.com/48
https://2dongdong.tistory.com/33
https://okky.kr/article/650086
https://jonghyeok-dev.tistory.com/44