DB 초기 테이블과 데이터?

jb kim·2022년 3월 14일
0

REST API 블로그 앱

목록 보기
61/65

1. sql 파일들 생성하는 방법

schema.sql(DB 테이블 생성)

data.sql(빈 테이블에 넣을 데이터)

2.(현재상태) 하이버네이트 자동생성

유저, 포스트, 댓글 등은 새로 생성 하면 되지만, ROLE_USER, ROLE_ADMIN은 초기에 필요

이 데이터들을 스프링 부트 시작시 넣을수 있도록 하자.

스프링 부트 애플리케이션이 구동될 때 코드를 실행

CommandLineRunner 을 main이 있는 클래스에 구현

@SpringBootApplication
public class BlogRestApiApplication implements CommandLineRunner {
	
	@Bean
	public ModelMapper modelMapper() {
		return new ModelMapper();
	}

	public static void main(String[] args) {
		SpringApplication.run(BlogRestApiApplication.class, args);
	}
	
	@Autowired
	private RoleRepository roleRepository;
	
	@Override
	public void run(String... args) throws Exception {
		//CommandLineRunner 구현으로 main이 실행되면 코드를 실행함
		Role adminRole = new Role();
		adminRole.setName("ROLE_ADMIN");
		roleRepository.save(adminRole);

		Role userRole = new Role();
		userRole.setName("ROLE_USER");
		roleRepository.save(userRole);	
	}

}

테스트 myblog 데이터베이스를 Drop 한다음 새로 만든다. 모든 테이블이 삭제된 상태

프로젝트 실행

참고
https://madplay.github.io/post/run-code-on-application-startup-in-springboot

profile
픽서

0개의 댓글