This repository has been archived on 2026-07-19. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
acquire-core-migration/legacy/db/schema.sql
forge-bot ff0b0b60a2
Some checks failed
ci / build (push) Failing after 2s
chore: acquire-core migration monorepo (legacy C + Spring Boot target skeleton)
TxCore/ECPG legacy 매입·정산 C 슬라이스(빌드검증) + Spring Boot 멀티모듈 골격(mvn test green) + MIGRATION.md 전환룰 + CI(boot 빌드).
2026-07-18 09:55:46 +00:00

41 lines
1.7 KiB
SQL

-- schema.sql - acquire-core 매입/정산 스키마
--
-- ECPG DBIO 코드가 참조하는 테이블 정의. 컴파일에는 필요 없으며,
-- 실행(런타임) 시 PostgreSQL 에 적용한다.
-- 매입 원장 (전문수신 → 접수)
CREATE TABLE IF NOT EXISTS purchase (
appr_no VARCHAR(9) NOT NULL, -- 승인번호 (PK)
merch_id VARCHAR(15) NOT NULL, -- 가맹점번호
card_no VARCHAR(16) NOT NULL, -- 카드번호(마스킹)
amount BIGINT NOT NULL, -- 거래금액(원)
txn_date CHAR(8) NOT NULL, -- 거래일자 YYYYMMDD
status CHAR(1) NOT NULL DEFAULT 'R', -- R:접수 M:대사완료 U:불일치 S:정산완료
reg_ts TIMESTAMP NOT NULL DEFAULT now(),
upd_ts TIMESTAMP,
CONSTRAINT pk_purchase PRIMARY KEY (appr_no)
);
CREATE INDEX IF NOT EXISTS ix_purchase_date_status
ON purchase (txn_date, status);
-- 승인 원장 (매입 대사 기준)
CREATE TABLE IF NOT EXISTS approval (
appr_no VARCHAR(9) NOT NULL,
merch_id VARCHAR(15) NOT NULL,
amount BIGINT NOT NULL,
appr_date CHAR(8) NOT NULL,
status CHAR(1) NOT NULL DEFAULT 'A', -- A:승인 C:취소
reg_ts TIMESTAMP NOT NULL DEFAULT now(),
CONSTRAINT pk_approval PRIMARY KEY (appr_no)
);
-- 정산 집계 (가맹점/영업일 단위)
CREATE TABLE IF NOT EXISTS settlement (
merch_id VARCHAR(15) NOT NULL,
biz_date CHAR(8) NOT NULL, -- 정산 영업일 YYYYMMDD
total_amount BIGINT NOT NULL DEFAULT 0,
txn_cnt INTEGER NOT NULL DEFAULT 0,
upd_ts TIMESTAMP NOT NULL DEFAULT now(),
CONSTRAINT pk_settlement PRIMARY KEY (merch_id, biz_date)
);