4월 3, 2020의 게시물 표시

Spring boot - MariaDB Configuration

이미지
올해 들어서 블로깅을 너무 안했다. 그래서 기초적인 것이지만 spring boot 에서 MariaDB 설정을 블로깅을 해보겠다. 우선 필자는 build tool 로 gradle 을 선택했다. 따라서 아래와 같이 필요한 의존성을 추가한다. security 와 web 은 해당 내용과 관련이 없지만, 필자가 개발하는 프로젝트에 필요해서 추가한 것이다. 따라서 아래 이미지에서 MariaDB 설정에 필수 의존성은 spring-boot-starter-data-jpa 와 mariadb-java-client 이다. 그리고 다음으뢰, application.yml 에서 아래와 같이 datasource 설정을 해준다. url, username, password 는 개인 mariadb 서버 설정에 맞게 넣어준다. 이제 설정은 끝났다. 왜냐면 spring boot 가 알아서 해준다. spring boot 의 장점이다. 설정이 너무쉽다. 왜냐면 아래와 같이 @SpringBootAppliation 이 다 알아서 해준다. 엄밀히 말하자면, @SpringBootApplication 을 까보면, 아래와 같이 @EnableAutoConfiguration 이 있다. 이녀석이 자동으로 해주는게 정말정말 많다. 이녀석을 까보고 공부하는 것도 재밌는일이 될 것 같다.

DataGrip 기존 table data INSERT 문으로 export && CREATE TABLE 문 export

이미지
혼자서 이거저거 만지고 개발하다 보니까 mysql, mariadb, postgre 등 여러 RDB를 사용했었다. 그러다가 문득 다른 DB 간에 테이블과 해당 테이블에 있는 Data가 필요하게 되어 편하게 옮기는 방법 없을까? 찾다가 내가 한 방법을 블로깅 한다. DataGrip 툴을 이용해서 먼저 DDL CREATE TABLE 을 뽑아낸다. 아래 이미지 처럼 해당 스키마이든 해당테이블을 선택하고 오른쪽 클릭을 하고, SQL Scripts 에 마우스를 올리면 오른쪽 처럼 Generate DDL 이라는 문구를 찾을 수 있다. 아래 처럼 DDL 을 뽑을 수 있다. 물론 mysql, mariadb 같은 경우 SHOW CREATE TABLE 문을 사용할 수 있지만, 테이블이 여러개일 경우, 혹은 전체 스키마를 다 따야할 경우 테이블 하나하나 하고 있을 수 없다. 그럴 때 이렇게 사용하면 좋을것 같다. 그렇다면 이제는 특정 테이블의 Data 들을 INSERT 구문으로 뽑아보자. 아래와 같이 우선 SELECT * FROM table; 을 하든 뭘 하든 추출하려는 데이터셋을 query 로 돌린다. 그리고 아래처럼 row 들을 선택하고 오른쪽 클릭을 한다. 우선 아래처럼 Data Extractor:~ 를 보면 여러가지 방법이 있다. INSERT 문의 두 가지가 가능하다. 1. SQL Inserts 2. SQL-Insert-Statements.sql.groovy 두 가지 중 하나를 선택한다. 그리고 아래 처럼 Dump Data 로 가서 파일을 생성하든지 클립보드에 출력하든지 선택하면 된다. 나같은 경우, 파일로 생성했다. 따라서 아래처럼 파일을 생성한다. 그리고 파일이 생성되면, DataGrip 오른쪽 하단에 아래와 같은 얼럿이 나온다. 파일을 눌러서 열어보면 아래 이미지와 같이 Insert 문으로 변환된 것을 볼 수 있다.