# 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.*` 값을 같이 수정하면 됩니다.