반응형
콩니🔧
개지니어 콩니
콩니🔧
전체 방문자
오늘
어제
  • 분류 전체보기 (79)
    • Life outside of work (13)
    • DevOps (29)
    • Developments (23)
    • CS and others (7)
    • Book reviews (7)

블로그 메뉴

  • 홈
  • 태그

공지사항

  • 제가 누군지 궁금하시다면

인기 글

태그

  • HTML
  • kubernetes
  • Java
  • 프로그래머스
  • Infra
  • Jenkins
  • DevOps
  • Network
  • web
  • programmers

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
콩니🔧

개지니어 콩니

Developments

[이럴땐이렇게] Spring boot application.yml 파일 mapping value 에러발생 시 (yaml syntax)

2020. 8. 18. 12:12
반응형

오늘 겪은 따끈한 에러입니다.

 

Spring boot로 웹앱 제작 중, 요즘 대세라는 yml 파일로 설정을 시도하였습니다.

그런데 ddl-auto(테이블이 존재하지 않을 경우 자동으로 생성해 주는 기능) 설정을 create로 해 두었음에도

ddl-auto가 적용되지 않아 이런저런 문제를 확인하던 중 mappin value에 이상이 있다는 것을 알게 되었습니다.

 

문제는 의외로 whitespace에 있었는데요, 파이썬으로 코딩할 때 빼고는

그냥 tab을 눌러서 하위개념을 설정하곤 했는데 tab이 문제가 되었던 겁니다~~

구글링하다가 yaml syntax 문서를 보고 알게 되었는데, 우선 yaml syntax 링크입니다. --> 링크 

 

YAML Syntax — Ansible Documentation

This page provides a basic overview of correct YAML syntax, which is how Ansible playbooks (our configuration management language) are expressed. We use YAML because it is easier for humans to read and write than other common data formats like XML or JSON.

docs.ansible.com

 

yaml로 yml 파일 생성 시,

하위값을 설정할 때는 스페이스를 '두 번' 입력합니다. 하위의 하위 개념에는 하위개념에서 추가로 스페이스를 '두 번'

더 입력합니다(2단계라면 도합 4개)

 

그리고 키:(스페이스)값 의 형태로 입력합니다.

 

즉, 아래의 예시와 같이 기재되어야 yml 파일이 인식됩니다.

위는 yaml syntax에 맞추어 작성한 버전, 아래는 공백을 별로 표현하여 시각적으로 보이게 한 설명버전입니다.

1
2
3
4
5
6
7
8
9
10
11
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
 
<< 공백을 ☆로 표기한 설명 >>
 
spring:
☆☆datasource:
☆☆☆☆driver-class-name:☆com.mysql.cj.jdbc.Driver
 
 
Colored by Color Scripter
cs

 

그래서 아래와 같이 application.yml 파일을 수정하니 auto ddl이 인식되어 테이블이 자동으로 생성되었습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/DB명?serverTimezone=UTC&characterEncoding=UTF-8
    username: mysql유저아이디
    password: mysql유저비밀번호
  jpa:
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
    open-in-view: false
    show-sql: true
    hibernate:
      format_sql: true
      ddl-auto: create

-- 이하 생략 --
cs

다 맞게 입력을 했는데 왜 에러가 나지? 했는데

역시 컴파일러는 잘못이 없고 새로운 걸 섣부르게 시도한 저의 탓입니다^_^

반응형
저작자표시 비영리 변경금지 (새창열림)

'Developments' 카테고리의 다른 글

200828 TIL: Python - SMTP를 이용한 메일 발송  (0) 2020.08.28
Hibernate ddl-auto 설정  (0) 2020.08.18
200814 Spring Security 구현  (0) 2020.08.14
200811 Spring MVC를 이용한 블로그 시스템 1.0  (0) 2020.08.11
200806 TIL: Spring 예외처리(ExceptionHandler, ControllerAdvice)  (0) 2020.08.06
    콩니🔧
    콩니🔧
    개발알못 인프라알못 콩니

    티스토리툴바