app-cloudep-wallet-service/generate/database/202504160353001_transaction...

22 lines
1.9 KiB
SQL
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

CREATE TABLE `transaction` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '交易主鍵 ID自動遞增',
`order_id` VARCHAR(64) DEFAULT NULL COMMENT '關聯的訂單 ID可為空若不是由訂單觸發',
`transaction_id` VARCHAR(64) NOT NULL COMMENT '此筆交易的唯一識別碼(系統內部使用,可為 UUID',
`brand` VARCHAR(50) NOT NULL COMMENT '所屬品牌(支援多品牌場景)',
`uid` VARCHAR(64) NOT NULL COMMENT '交易發起者的 UID',
`to_uid` VARCHAR(64) DEFAULT NULL COMMENT '交易對象的 UID如為轉帳場景',
`type` TINYINT NOT NULL COMMENT '交易類型(如轉帳、入金、出金等,自定義列舉)',
`business_type` TINYINT NOT NULL COMMENT '業務類型(如合約、模擬、一般用途等,數字代碼)',
`crypto` VARCHAR(32) NOT NULL COMMENT '幣種(如 BTC、ETH、USD、TWD 等)',
`amount` DECIMAL(30, 18) NOT NULL COMMENT '本次變動金額(正數為增加,負數為扣減)',
`balance` DECIMAL(30, 18) NOT NULL COMMENT '交易完成後的錢包餘額',
`before_balance` DECIMAL(30, 18) NOT NULL COMMENT '交易前的錢包餘額(方便審計與對帳)',
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '狀態1: 有效、0: 無效/已取消)',
`create_time` BIGINT NOT NULL DEFAULT 0 COMMENT '建立時間Unix 秒數)',
`due_time` BIGINT NOT NULL DEFAULT 0 COMMENT '到期時間(適用於凍結或延後入帳等場景)',
PRIMARY KEY (`id`),
UNIQUE KEY `uq_transaction_id` (`transaction_id`),
KEY `idx_uid` (`uid`),
KEY `idx_order_id` (`order_id`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='交易紀錄表';