테스트 데이터 준비 ‐ (1) 필요성, 로컬 데이터베이스 초기화 - ttasjwi/board-system GitHub Wiki
개요
- 기능을 구현한 것도 중요하지만, 우리 기능이 실제 서비스 환경(혹은 유사환경)에서 실제 좋은 성능으로 잘 작동하는지 확인하는 것도 중요하다.
- 성능 테스트를 위해서는 우선 데이터베이스에 적절히 많은 양의 데이터가 삽입되어야한다.
- 데이터베이스의 질의 성능은 전체 데이터의 갯수의 영향을 많이 받기 때문이다.
- 테스트 데이터를 간단하게 csv 파일로 구성해놓고, 로컬 데이터베이스에 삽입해본다.
- 이후 인프라 환경에 삽입하는 과정은 별도로 또 다시 다룰 것.
(로컬) docker -> mysql -> csv 파일 삽입 허용
services:
mysql:
image: mysql:ttasjwi
container_name: mysql
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=db1004
restart: unless-stopped
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --local-infile=1
- --secure-file-priv=
volumes:
- mysql-data:/var/lib/mysql
- mysql-conf:/etc/mysql/conf.d
- mysql-initdb:/docker-entrypoint-initdb.d
volumes:
mysql-data:
external: true
mysql-conf:
external: true
mysql-initdb:
external: true
- docker-compose 파일을 수정
--local-infile=1
: 로컬에서의 csv 파일 삽입 허용
--secure-file-priv=
: 모든 경로에서의 파일 insert 허용
docker-compose -f docker-compose-mysql.yml down
docker-compose -f docker-compose-mysql.yml up -d
- docker-compose 명령어를 통해 컨테이너 상태 변경 후 다시 실행
데이터베이스 초기화
drop database board_db_local;
create database board_db_local;