You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
autoflow-server-mgmt/scripts/README-DB.md

61 lines
1.9 KiB

# Autoflow DB 생성 (WSL / 로컬)
## 1. MariaDB/MySQL이 이미 설치된 경우
### 1) DB와 사용자만 만들기
```bash
# WSL 또는 로컬 터미널에서 (root 비밀번호 입력 필요)
mysql -u root -p < scripts/init-autoflow-db.sql
```
또는 MySQL 클라이언트 접속 후:
```sql
SOURCE /경로/autoflow-server-mgmt-main/autoflow-server-mgmt/scripts/init-autoflow-db.sql;
```
### 2) 테이블 + 초기 데이터 (data.sql 사용)
**WSL 프로파일(`application-wsl.properties`)에서는 이미 아래가 설정되어 있습니다.**
- `spring.jpa.hibernate.ddl-auto=update` → 엔티티 기준으로 `tb_*` 테이블 자동 생성
- `spring.sql.init.mode=always` → 기동 시 **`src/main/resources/data.sql`** 자동 실행
`data.sql`에서 하는 일:
- BATCH_* 테이블 생성 (Spring Batch용)
- 초기 데이터 INSERT: `tb_role`, `tb_user`, `tb_project`, `tb_user_roles`
따라서 **DB(autoflow)와 사용자(autoflow)만 만든 뒤** 백엔드를 `--spring.profiles.active=wsl`로 실행하면, 테이블 생성과 data.sql 적용이 한 번에 이루어집니다. 별도 스키마 SQL 실행은 필요 없습니다.
---
## 2. MariaDB가 없을 때 (Docker로 설치)
```bash
docker run -d \
--name autoflow-mariadb \
-p 3306:3306 \
-e MARIADB_ROOT_PASSWORD=root \
-e MARIADB_DATABASE=autoflow \
-e MARIADB_USER=autoflow \
-e MARIADB_PASSWORD=autoflow \
mariadb:latest
```
이렇게 하면 `autoflow` DB와 사용자 `autoflow`/비밀번호 `autoflow`가 자동 생성됩니다.
그 다음 위 **1.2) 테이블 생성** 중 하나를 진행하면 됩니다.
---
## 3. application-wsl.properties와 맞추기
현재 WSL 설정 기준:
- **URL:** `jdbc:mariadb://localhost:3306/autoflow`
- **사용자:** `autoflow`
- **비밀번호:** `autoflow`
다른 포트/비밀번호를 쓰면 `application-wsl.properties``spring.datasource.*` 값을 같이 수정하면 됩니다.