| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- -- =====================================================
- -- 雪花算法ID改造 - 数据库表结构变更脚本
- -- 执行时间: 请在低峰期执行
- -- 影响范围: 54张表的主键ID字段
- -- =====================================================
- -- 说明:
- -- 1. 将所有表的id字段从 AUTO_INCREMENT 改为普通 BIGINT
- -- 2. 雪花算法ID由MyBatis-Plus在应用层生成,不再依赖数据库自增
- -- 3. 执行前请务必备份数据库!
- -- 核心业务表
- ALTER TABLE t_user MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_order MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_order_item MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_order_goods MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_product MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_device MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_shop MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_device_inventory MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_account MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_fund_log MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- -- 营销相关表
- ALTER TABLE t_marketing_activity MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_coupon_template MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_user_coupon MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_coupon_product MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_coupon_shop MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_coupon_distribute MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_timed_discount_activity MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_timed_discount_device MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_timed_discount_product MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_timed_discount_shop MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_timed_discount_record MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_timed_discount_statistics MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_activity_device MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_activity_product MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_activity_shop MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- -- 库存相关表
- ALTER TABLE t_stock_record MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_stock_record_item MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_inventory_log MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_stocker MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- -- 注意: t_shop_replenisher 表已被 V2 独立补货员体系取代,即将 DROP
- -- ALTER TABLE t_shop_replenisher MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- -- 日志记录表
- ALTER TABLE t_operation_log MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_door_record MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_sync_log MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_sync_record MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_dict_log MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_price_adjustment_log MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_new_product_apply MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_checkin_record MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- -- 系统管理表
- ALTER TABLE t_admin MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_role MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_data_permission MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_role_permission MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_dict_type MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_dict_data MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- -- 邀请相关表
- ALTER TABLE t_invite_activity MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_invite_record MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_invite_reward MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- -- 统计表
- ALTER TABLE t_marketing_statistics MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_stat_category_daily MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_stat_device_daily MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_stat_product_daily MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_stat_shop_daily MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- ALTER TABLE t_stat_user_repurchase MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- -- 其他表
- ALTER TABLE t_announcement MODIFY COLUMN id BIGINT NOT NULL COMMENT '主键ID(雪花算法生成)';
- -- =====================================================
- -- 验证SQL - 执行后可运行以下SQL确认修改成功
- -- =====================================================
- -- 检查是否还有AUTO_INCREMENT的id字段(应该返回0条记录)
- SELECT TABLE_NAME, COLUMN_NAME, EXTRA
- FROM information_schema.COLUMNS
- WHERE TABLE_SCHEMA = 'haha'
- AND COLUMN_NAME = 'id'
- AND EXTRA = 'auto_increment';
- -- 查看所有表的id字段类型(应该都是bigint且没有auto_increment)
- SELECT TABLE_NAME, COLUMN_NAME, COLUMN_TYPE, EXTRA, COLUMN_COMMENT
- FROM information_schema.COLUMNS
- WHERE TABLE_SCHEMA = 'haha'
- AND COLUMN_NAME = 'id'
- ORDER BY TABLE_NAME;
- -- =====================================================
- -- 回滚SQL - 如需回滚,可执行以下SQL恢复AUTO_INCREMENT
- -- =====================================================
- -- 回滚示例(以t_user为例):
- -- ALTER TABLE t_user MODIFY COLUMN id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID';
- -- 批量生成回滚SQL:
- -- SELECT CONCAT(
- -- 'ALTER TABLE ', TABLE_NAME,
- -- ' MODIFY COLUMN id BIGINT NOT NULL AUTO_INCREMENT COMMENT ''', COLUMN_COMMENT, ''';'
- -- ) AS rollback_sql
- -- FROM information_schema.COLUMNS
- -- WHERE TABLE_SCHEMA = 'haha'
- -- AND COLUMN_NAME = 'id'
- -- AND EXTRA = '';
|