Phase 2b: 11개 모듈 전량 실동작 (333 서비스, 전서버 부팅)
- 10개 모듈 추가/확장(au py rc st lg cl mm vl mg cm), 각 30 서비스 = 330 + tmsrv - build.sh 자동발견으로 11 모듈서버 + dbio 라이브러리 23 + 배치 22 빌드 - schema.d 11파일 → 75 테이블, 모듈별 disjoint - 부팅 리소스 규명: fs.mqueue.queues_max=8192(330큐>256), NDRX_MSGSIZEMAX 16000· MSGMAX 50(큐당 5.6MB→0.8MB), msgqueue ulimit 2GB → 전 12서버 runok - 검증: xadmin psc 333 AVAIL, 매입체인 XA 커밋, prepared_xacts=0 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8219b85f14
commit
bec83c721e
73 changed files with 10705 additions and 35 deletions
67
db/schema.d/40-lg.sql
Normal file
67
db/schema.d/40-lg.sql
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
-- ---------------------------------------------------------------------------
|
||||
-- lg 모듈 (원장/ledger) - 복식부기 전표/원장/계정잔액 스키마 (prefix 40)
|
||||
-- Loaded after 00-base.sql by docker-entrypoint-initdb.d.
|
||||
-- lg 서비스/배치가 채우는 전표(voucher) + 원장 라인(ledger_line) + 계정잔액 테이블.
|
||||
-- ---------------------------------------------------------------------------
|
||||
|
||||
-- 전표 (voucher) - 하나의 회계 이벤트(매입전기/정산전기/조정/대체 등)의 헤더
|
||||
CREATE SEQUENCE IF NOT EXISTS lg_voucher_seq;
|
||||
CREATE TABLE IF NOT EXISTS lg_voucher (
|
||||
voucher_id BIGINT PRIMARY KEY,
|
||||
voucher_type TEXT NOT NULL, -- POST/DOUBLE/ADJ/REVERSE/TRANSFER/SETTLE/ACQ/FEE
|
||||
ref_id BIGINT NOT NULL DEFAULT 0, -- 연계 매입/정산 ID
|
||||
biz_date DATE NOT NULL,
|
||||
status TEXT NOT NULL DEFAULT 'D', -- D=작성, P=전기, M=대사, S=마감연계, X=취소
|
||||
memo TEXT NOT NULL DEFAULT '',
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
-- 원장 라인 (ledger_line) - 복식부기 차변(D)/대변(C) 개별 분개
|
||||
CREATE SEQUENCE IF NOT EXISTS lg_line_seq;
|
||||
CREATE TABLE IF NOT EXISTS lg_ledger_line (
|
||||
line_id BIGINT PRIMARY KEY,
|
||||
voucher_id BIGINT NOT NULL,
|
||||
acct TEXT NOT NULL, -- 계정과목: RECV/MERCH_PAY/FEE_INC/CASH/ADJ ...
|
||||
dc TEXT NOT NULL, -- D=차변(debit), C=대변(credit)
|
||||
amount BIGINT NOT NULL,
|
||||
merchant_id TEXT NOT NULL DEFAULT '',
|
||||
biz_date DATE NOT NULL,
|
||||
status TEXT NOT NULL DEFAULT 'posted', -- posted / closed
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS ix_lg_line_voucher ON lg_ledger_line(voucher_id);
|
||||
CREATE INDEX IF NOT EXISTS ix_lg_line_acct ON lg_ledger_line(acct, biz_date);
|
||||
|
||||
-- 계정잔액 (account balance) - 계정과목 x 영업일 누계
|
||||
CREATE TABLE IF NOT EXISTS lg_account_bal (
|
||||
acct TEXT NOT NULL,
|
||||
biz_date DATE NOT NULL,
|
||||
debit_total BIGINT NOT NULL DEFAULT 0,
|
||||
credit_total BIGINT NOT NULL DEFAULT 0,
|
||||
balance BIGINT NOT NULL DEFAULT 0, -- 차변 - 대변
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
PRIMARY KEY (acct, biz_date)
|
||||
);
|
||||
|
||||
-- 가맹점 잔액 (merchant balance) - 가맹점 x 영업일 미지급/미수 누계
|
||||
CREATE TABLE IF NOT EXISTS lg_merch_bal (
|
||||
merchant_id TEXT NOT NULL,
|
||||
biz_date DATE NOT NULL,
|
||||
debit_total BIGINT NOT NULL DEFAULT 0,
|
||||
credit_total BIGINT NOT NULL DEFAULT 0,
|
||||
balance BIGINT NOT NULL DEFAULT 0,
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
PRIMARY KEY (merchant_id, biz_date)
|
||||
);
|
||||
|
||||
-- 시산표 (trial balance) - 배치가 계정별로 채움
|
||||
CREATE TABLE IF NOT EXISTS lg_trial_bal (
|
||||
acct TEXT NOT NULL,
|
||||
biz_date DATE NOT NULL,
|
||||
debit_total BIGINT NOT NULL DEFAULT 0,
|
||||
credit_total BIGINT NOT NULL DEFAULT 0,
|
||||
diff BIGINT NOT NULL DEFAULT 0, -- 차변 - 대변 (0 이어야 정상)
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
PRIMARY KEY (acct, biz_date)
|
||||
);
|
||||
Loading…
Add table
Add a link
Reference in a new issue