modify_shop_items_table.sql 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. -- 修改商店商品表结构
  2. -- 执行时间:开发阶段直接修改
  3. -- 注意:此脚本会删除现有数据,仅适用于开发环境
  4. -- 1. 添加新字段
  5. ALTER TABLE `kku_shop_items`
  6. ADD COLUMN `category_name` varchar(100) DEFAULT NULL COMMENT '分类名称(字符串格式,区别于现有分类机制)' AFTER `category_id`,
  7. ADD COLUMN `consume_group_id` int unsigned DEFAULT NULL COMMENT '消耗组ID,外键关联kku_game_consume_groups表' AFTER `category_name`,
  8. ADD COLUMN `reward_group_id` int unsigned DEFAULT NULL COMMENT '奖励组ID,外键关联kku_game_reward_groups表' AFTER `consume_group_id`;
  9. -- 2. 删除旧字段
  10. ALTER TABLE `kku_shop_items`
  11. DROP COLUMN `item_id`,
  12. DROP COLUMN `item_quantity`,
  13. DROP COLUMN `price`,
  14. DROP COLUMN `currency_id`;
  15. -- 3. 删除旧索引
  16. ALTER TABLE `kku_shop_items`
  17. DROP INDEX `shop_items_item_id_index`,
  18. DROP INDEX `shop_items_currency_id_index`;
  19. -- 4. 添加新索引
  20. ALTER TABLE `kku_shop_items`
  21. ADD INDEX `shop_items_consume_group_id_index` (`consume_group_id`),
  22. ADD INDEX `shop_items_reward_group_id_index` (`reward_group_id`);
  23. -- 5. 添加外键约束(可选,根据需要启用)
  24. -- ALTER TABLE `kku_shop_items`
  25. -- ADD CONSTRAINT `fk_shop_items_consume_group` FOREIGN KEY (`consume_group_id`) REFERENCES `kku_game_consume_groups` (`id`) ON DELETE SET NULL,
  26. -- ADD CONSTRAINT `fk_shop_items_reward_group` FOREIGN KEY (`reward_group_id`) REFERENCES `kku_game_reward_groups` (`id`) ON DELETE SET NULL;