- 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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user