Files
shop-platform/docs/db/README_v1.0.md

7.3 KiB
Raw Permalink Blame History

电商系统数据库初始化说明

概述

本文档描述了电商系统的数据库结构初始化脚本 init.sql。该脚本包含了280个数据表的创建语句涵盖了完整的电商业务功能模块。

系统架构

  • 数据库引擎: MySQL 8.0+
  • 字符集: utf8
  • 行格式: DYNAMIC
  • 默认字段: 所有表都包含标准的创建时间、修改时间等字段

主要功能模块

1. 插件系统 (Addons)

  • lucky_addon - 插件表:存储系统插件的基本信息
  • lucky_addon_quick - 快速插件表:存储快速插件套餐信息

2. 广告系统 (Advertisement)

  • lucky_adv - 广告表:存储广告内容和配置
  • lucky_adv_position - 广告位表:管理广告位置和规格

3. 媒体管理 (Media)

  • lucky_album - 相册表:管理图片相册分类
  • lucky_album_pic - 相册图片表:存储图片文件信息

4. 地区管理 (Area)

  • lucky_area - 地址表:存储省市区县等行政区划数据

5. 内容管理 (Content)

  • lucky_article - 文章表:存储文章内容
  • lucky_article_category - 文章分类表:管理文章分类

6. 盲盒系统 (Blind Box)

  • lucky_blindbox - 盲盒表:盲盒活动配置
  • lucky_blindbox_category - 盲盒分类表
  • lucky_blindbox_goods - 盲盒商品表:盲盒内商品配置
  • lucky_blindbox_member_group - 盲盒参与组表
  • lucky_blindbox_order - 盲盒订单表

7. 收银系统 (Cashier)

  • lucky_cashier_auth - 收银权限表
  • lucky_cashier_auth_group - 收银权限组表
  • lucky_cashier_pendorder - 本地服务挂单表
  • lucky_cashier_pendorder_goods - 挂单订单项表
  • lucky_change_shifts_record - 收银台交接班记录

8. 系统配置 (System)

  • lucky_config - 系统配置表:存储各种系统配置参数
  • lucky_document - 系统文档表:存储配置性文档
  • lucky_cron - 计划任务表:定时任务配置
  • lucky_cron_log - 任务执行日志表

9. 自定义页面 (DIY)

  • lucky_diy_template - 自定义模板页面类型表
  • lucky_diy_template_category - 自定义模板分类表
  • lucky_diy_template_goods - 自定义模板组表
  • lucky_diy_template_goods_item - 模板组页面表
  • lucky_diy_theme - 自定义模板主题风格配色表
  • lucky_diy_view_util - 自定义模板组件表

10. 物流配送 (Express)

  • lucky_express_company - 店铺物流公司表
  • lucky_express_company_template - 系统物流公司表
  • lucky_express_deliver - 配送员表
  • lucky_express_delivery_package - 订单物流信息表
  • lucky_express_electronicsheet - 电子面单表
  • lucky_express_template - 运费模板表
  • lucky_express_template_free_shipping - 运费模板免邮地区表
  • lucky_express_template_item - 运费模板细节表

11. 分销系统 (Distribution)

  • lucky_fenxiao - 分销商表
  • lucky_fenxiao_account - 分销商流水表
  • lucky_fenxiao_apply - 分销商申请表
  • lucky_fenxiao_goods - 分销商品表
  • lucky_fenxiao_goods_collect - 分销商关注商品表
  • lucky_fenxiao_goods_sku - 分销商品SKU表
  • lucky_fenxiao_level - 分销等级配置表
  • lucky_fenxiao_order - 分销订单表
  • lucky_fenxiao_withdraw - 分销商提现表

12. 礼品卡系统 (Gift Card)

  • lucky_giftcard - 礼品卡表
  • lucky_giftcard_card - 礼品卡获取记录表
  • lucky_giftcard_card_blessing - 礼品卡祝福语表
  • lucky_giftcard_card_goods - 礼品卡商品项表

13. 表单系统 (Form)

  • lucky_form - 表单配置表
  • lucky_form_data - 表单数据表

14. 文件管理 (Files)

  • lucky_files - 文件管理表

核心字段说明

通用字段

  • site_id - 站点ID用于多站点支持
  • create_time - 创建时间Unix时间戳格式
  • update_time - 修改时间Unix时间戳格式
  • status - 状态通常0=关闭1=开启

订单相关字段

  • order_id - 订单ID
  • order_no - 订单编号
  • member_id - 会员ID
  • goods_id - 商品ID
  • sku_id - 商品SKU ID
  • price - 价格
  • num - 数量

财务字段

  • money - 金额
  • balance - 余额
  • commission - 佣金
  • rate - 费率

安装说明

1. 环境要求

  • MySQL 8.0+
  • PHP 7.4+
  • 存储空间建议至少2GB

2. 安装步骤

# 1. 创建数据库
mysql -u root -p
CREATE DATABASE shop_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# 2. 导入初始化脚本
mysql -u root -p shop_database < init.sql

# 3. 验证安装
mysql -u root -p shop_database -e "SHOW TABLES;"

3. 权限配置

-- 创建数据库用户
CREATE USER 'shop_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER, DROP ON shop_database.* TO 'shop_user'@'localhost';
FLUSH PRIVILEGES;

索引优化

脚本中已包含必要的索引定义,主要索引类型:

  • 主键索引:所有表的 id 字段
  • 唯一索引:用于保证数据唯一性
  • 复合索引:用于优化查询性能
  • 普通索引:用于加速常用查询

性能建议

1. 数据库优化

-- 启用查询缓存
SET GLOBAL query_cache_type = ON;
SET GLOBAL query_cache_size = 268435456;

-- 优化InnoDB设置
SET GLOBAL innodb_buffer_pool_size = 1073741824;
SET GLOBAL innodb_log_file_size = 268435456;

2. 分区策略

对于大数据量表,建议按时间进行分区:

-- 示例:订单表按月分区
ALTER TABLE lucky_order PARTITION BY RANGE (YEAR(create_time)*100 + MONTH(create_time)) (
    PARTITION p202401 VALUES LESS THAN (202402),
    PARTITION p202402 VALUES LESS THAN (202403),
    -- 继续添加更多分区...
);

备份策略

1. 全量备份

mysqldump -u root -p --single-transaction --routines --triggers shop_database > backup_full.sql

2. 增量备份

mysqldump -u root -p --single-transaction --where="create_time > UNIX_TIMESTAMP('2024-01-01')" shop_database > backup_incremental.sql

数据迁移

从旧版本迁移

  1. 备份现有数据
  2. 执行新的 init.sql
  3. 运行数据迁移脚本
  4. 验证数据完整性

监控维护

1. 定期维护

-- 优化表
OPTIMIZE TABLE lucky_order;

-- 分析表
ANALYZE TABLE lucky_member;

-- 检查表
CHECK TABLE lucky_goods;

2. 监控指标

  • 表空间使用率
  • 查询执行时间
  • 索引使用情况
  • 连接数和锁等待

安全建议

  1. 访问控制限制数据库访问IP
  2. 密码策略:使用强密码
  3. 定期更新:保持数据库版本更新
  4. 数据加密:敏感数据加密存储
  5. 日志审计:开启数据库审计日志

常见问题

Q: 初始化失败怎么办?

A: 检查MySQL版本权限确保有足够的空间和权限。

Q: 如何添加新的站点?

A: 在相关表中插入新的 site_id 记录。

Q: 数据库升级需要注意什么?

A: 务必先备份数据,测试升级脚本。

技术支持

如遇到问题,请提供以下信息:

  • MySQL版本
  • 错误日志
  • 相关配置信息
  • 重现步骤

注意:本数据库结构包含完整的电商功能模块,建议根据实际业务需求选择使用相应的表结构。