7.3 KiB
7.3 KiB
电商系统数据库初始化说明
概述
本文档描述了电商系统的数据库结构初始化脚本 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- 订单IDorder_no- 订单编号member_id- 会员IDgoods_id- 商品IDsku_id- 商品SKU IDprice- 价格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
数据迁移
从旧版本迁移
- 备份现有数据
- 执行新的
init.sql - 运行数据迁移脚本
- 验证数据完整性
监控维护
1. 定期维护
-- 优化表
OPTIMIZE TABLE lucky_order;
-- 分析表
ANALYZE TABLE lucky_member;
-- 检查表
CHECK TABLE lucky_goods;
2. 监控指标
- 表空间使用率
- 查询执行时间
- 索引使用情况
- 连接数和锁等待
安全建议
- 访问控制:限制数据库访问IP
- 密码策略:使用强密码
- 定期更新:保持数据库版本更新
- 数据加密:敏感数据加密存储
- 日志审计:开启数据库审计日志
常见问题
Q: 初始化失败怎么办?
A: 检查MySQL版本权限,确保有足够的空间和权限。
Q: 如何添加新的站点?
A: 在相关表中插入新的 site_id 记录。
Q: 数据库升级需要注意什么?
A: 务必先备份数据,测试升级脚本。
技术支持
如遇到问题,请提供以下信息:
- MySQL版本
- 错误日志
- 相关配置信息
- 重现步骤
注意:本数据库结构包含完整的电商功能模块,建议根据实际业务需求选择使用相应的表结构。