Files
MTKJPAY/mt-pay/database/README_CUSTOMER_ORDER.md
qiube ca5e88cdf1 docs(guide): 添加PayPal配置检查和客户订单表创建说明
- 创建PAYPAL_CONFIG_CHECK.md文档,提供PayPal配置错误的解决方案
- 添加mt-pay/database/README_CUSTOMER_ORDER.md文档,说明客户订单表创建方法
- 提供详细的数据库表结构和SQL脚本执行指南
- 包含配置文件格式要求和调试方法说明
2025-12-23 16:03:24 +08:00

3.7 KiB
Raw Blame History

客户订单表创建说明

问题

如果遇到错误:Table 'mtpay.customer_order' doesn't exist

说明数据库中没有 customer_order需要执行SQL脚本创建。

解决方案

方法1使用MySQL客户端执行推荐

  1. 连接到数据库:
mysql -h rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com -P 3306 -u mtkj2025 -p mtpay
  1. 执行SQL脚本
source E:/MTKJPAY/mt-pay/database/customer_order_schema.sql

或者直接复制SQL内容执行

CREATE TABLE `customer_order` (
    `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
    `order_no` VARCHAR(64) NOT NULL UNIQUE COMMENT '订单号(全局唯一)',
    `product_id` BIGINT NOT NULL COMMENT '商品ID',
    `product_name` VARCHAR(500) NOT NULL COMMENT '商品名称',
    `sku_id` BIGINT NOT NULL COMMENT 'SKU ID',
    `sku_name` VARCHAR(500) NOT NULL COMMENT 'SKU名称/描述',
    `quantity` INT NOT NULL COMMENT '购买数量',
    `unit_price` DECIMAL(10, 2) NOT NULL COMMENT '单价',
    `total_amount` DECIMAL(10, 2) NOT NULL COMMENT '订单总金额',
    `currency` VARCHAR(3) NOT NULL COMMENT '货币代码',
    `status` VARCHAR(20) NOT NULL DEFAULT 'PENDING' COMMENT '订单状态PENDING-待支付PAID-已支付SHIPPED-已发货COMPLETED-已完成CANCELLED-已取消',
    
    -- 客户信息
    `customer_name` VARCHAR(100) NOT NULL COMMENT '客户姓名',
    `customer_phone` VARCHAR(20) NOT NULL COMMENT '客户电话',
    `customer_email` VARCHAR(100) COMMENT '客户邮箱',
    
    -- 收货地址
    `shipping_name` VARCHAR(100) NOT NULL COMMENT '收货人姓名',
    `shipping_phone` VARCHAR(20) NOT NULL COMMENT '收货人电话',
    `shipping_country` VARCHAR(50) NOT NULL COMMENT '收货国家',
    `shipping_state` VARCHAR(50) COMMENT '收货州/省',
    `shipping_city` VARCHAR(50) NOT NULL COMMENT '收货城市',
    `shipping_street` VARCHAR(200) NOT NULL COMMENT '收货街道地址',
    `shipping_postcode` VARCHAR(20) COMMENT '收货邮编',
    
    -- 支付信息
    `payment_order_id` BIGINT COMMENT '关联的支付订单ID',
    `payment_status` VARCHAR(20) DEFAULT 'UNPAID' COMMENT '支付状态UNPAID-未支付PAID-已支付FAILED-支付失败',
    
    -- 备注
    `remark` VARCHAR(500) COMMENT '订单备注',
    
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`),
    KEY `idx_order_no` (`order_no`),
    KEY `idx_product_id` (`product_id`),
    KEY `idx_status` (`status`),
    KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='客户订单表';

方法2使用数据库管理工具

使用Navicat、DBeaver、MySQL Workbench等工具

  1. 连接到数据库 mtpay
  2. 打开SQL编辑器
  3. 复制 customer_order_schema.sql 文件内容
  4. 执行SQL脚本

方法3使用命令行Windows PowerShell

# 读取SQL文件内容
$sql = Get-Content "E:\MTKJPAY\mt-pay\database\customer_order_schema.sql" -Raw

# 执行SQL需要先安装mysql客户端
mysql -h rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com -P 3306 -u mtkj2025 -p mtpay -e $sql

验证

执行完成后,可以验证表是否创建成功:

-- 查看表是否存在
SHOW TABLES LIKE 'customer_order';

-- 查看表结构
DESC customer_order;

-- 或者
SHOW CREATE TABLE customer_order;

注意事项

  1. 确保数据库连接信息正确
  2. 确保有创建表的权限
  3. 如果表已存在,可以先删除再创建:
    DROP TABLE IF EXISTS `customer_order`;
    
    然后重新执行创建脚本