22 lines
1.4 KiB
SQL
Executable File
22 lines
1.4 KiB
SQL
Executable File
CREATE TABLE `wallet_transaction` (
|
||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主鍵 ID,自動遞增',
|
||
`transaction_id` BIGINT NOT NULL COMMENT '交易流水號(可對應某次業務操作,例如同一訂單的多筆變化)',
|
||
`order_id` VARCHAR(64) NOT NULL COMMENT '訂單編號(對應實際訂單或業務事件)',
|
||
`brand` VARCHAR(50) NOT NULL COMMENT '品牌(多租戶或多平台識別)',
|
||
`uid` VARCHAR(64) NOT NULL COMMENT '使用者 UID',
|
||
`wallet_type` TINYINT NOT NULL COMMENT '錢包類型(如主錢包、獎勵錢包、凍結錢包等)',
|
||
`business_type` TINYINT NOT NULL COMMENT '業務類型(如購物、退款、加值等)',
|
||
`asset` VARCHAR(32) NOT NULL COMMENT '資產代號(如 BTC、ETH、GEM_RED、USD 等)',
|
||
`amount` DECIMAL(30, 18) NOT NULL COMMENT '變動金額(正數為收入,負數為支出)',
|
||
`balance` DECIMAL(30, 18) NOT NULL COMMENT '當前錢包餘額(這筆交易後的餘額快照)',
|
||
`create_at` BIGINT NOT NULL DEFAULT 0 COMMENT '建立時間(UnixNano,紀錄交易發生時間)',
|
||
PRIMARY KEY (`id`),
|
||
KET `idx_uid` (`uid`),
|
||
KEY `idx_transaction_id` (`transaction_id`),
|
||
KEY `idx_order_id` (`order_id`),
|
||
KEY `idx_brand` (`brand`),
|
||
KEY `idx_wallet_type` (`wallet_type`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COLLATE = utf8mb4_unicode_ci
|
||
COMMENT = '錢包資金異動紀錄(每一次交易行為的快照記錄)'; |