DB 이름 vexplor → invyone 전환
Build & Deploy to K8s / build-and-deploy (push) Successful in 4m30s

- application.yml, k8s configmap, docker-compose 4종: SPRING_DATASOURCE_URL path
- provisioning 코드: {prefix}_vexplor → {prefix}_invyone 테넌트 DB 네이밍 규칙
- 프론트 마법사: Step1Basic, Step4Run 미리보기 라벨
- CompanyAccordionRow: 기본 DB 이름 포맷
- 마이그레이션/멀티테넌시 문서 동기화
- Traefik 와일드카드 설정 산출물 보관 (notes/)

비밀번호(vexplor0909!!) 및 역사 기록 문서(INVYONE_CONCEPT,
DDD1542, test-output, dashboard-runtime-fixes) 는 의도적으로 미변경.
This commit is contained in:
2026-04-24 19:15:06 +09:00
parent 8c861144dc
commit 76f43cea9b
20 changed files with 116 additions and 37 deletions
@@ -24,7 +24,7 @@ import java.util.UUID;
*
* 6 단계:
* 1. REGISTER_META — COMPANY_MNG 에 db_status='provisioning' 으로 row 선반영 (initiate)
* 2. CREATE_DATABASE — CREATE DATABASE "{prefix}_vexplor"
* 2. CREATE_DATABASE — CREATE DATABASE "{prefix}_invyone"
* 3. COPY_SCHEMA — pg_dump --schema-only | psql
* 4. COPY_DATA — 선택 + 필수 그룹의 테이블들 JDBC 복사
* 5. CREATE_ADMIN — user_info 에 {prefix}_admin INSERT (BCrypt)
@@ -53,7 +53,7 @@ public class CompanyProvisioningService {
private String metaDbName() {
int slash = metaJdbcUrl.lastIndexOf('/');
if (slash < 0) return "vexplor";
if (slash < 0) return "invyone";
String tail = metaJdbcUrl.substring(slash + 1);
int q = tail.indexOf('?');
return q < 0 ? tail : tail.substring(0, q);
@@ -63,7 +63,7 @@ public class CompanyProvisioningService {
public ProvisioningStatus initiate(Map<String, Object> req) {
String companyCode = (String) req.get("company_code");
String dbPrefix = (String) req.get("db_prefix");
String dbName = dbPrefix + "_vexplor";
String dbName = dbPrefix + "_invyone";
String subdomain = (String) req.get("subdomain");
// 템플릿 그룹 수 집계: 필수(3) + 선택된 optional
@@ -99,7 +99,7 @@ public class ProvisioningController {
if (dbPrefix != null) {
boolean formatOk = isValidDbPrefix(dbPrefix);
String dbName = dbPrefix + "_vexplor";
String dbName = dbPrefix + "_invyone";
boolean exists = false;
if (formatOk) {
Map<String, Object> p = new HashMap<>();
@@ -161,7 +161,7 @@ public class ProvisioningController {
"error", "invalid_format", "field", "db_prefix"));
}
// 중복
String dbName = dbPrefix + "_vexplor";
String dbName = dbPrefix + "_invyone";
if (sqlSession.selectOne("provisioning.existsCompanyCode", Map.of("company_code", companyCode)) != null) {
return ResponseEntity.status(409).body(Map.of("error", "duplicate", "field", "company_code"));
}
@@ -17,7 +17,7 @@ public class ProvisioningStatus {
private String id;
/** 생성 요청한 회사 코드 */
private String companyCode;
/** 생성 대상 DB 이름 (예: qnc_vexplor) */
/** 생성 대상 DB 이름 (예: qnc_invyone) */
private String dbName;
/** 서브도메인 */
private String subdomain;
@@ -14,7 +14,7 @@ spring:
jackson:
default-property-inclusion: always
datasource:
url: jdbc:postgresql://183.99.177.40:5432/vexplor
url: jdbc:postgresql://183.99.177.40:5432/invyone
username: postgres
password: "vexplor0909!!"
driver-class-name: org.postgresql.Driver