-- ============================================
-- 表结构模板（UUID版本）
-- ============================================
-- 注意：系统已迁移到UUID主键，新表请使用此模板
-- ============================================

CREATE TABLE `表名` (
  `id` CHAR(36) NOT NULL COMMENT 'UUID主键',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `delete_time` datetime DEFAULT NULL COMMENT '删除时间',
  `del_state` tinyint NOT NULL DEFAULT '0',
  `version` bigint NOT NULL DEFAULT '0' COMMENT '版本号',

/* 业务字段开始 */

`字段1` 数据类型 [约束条件] [DEFAULT 默认值] [COMMENT '字段说明'],
  `字段2` 数据类型 [约束条件] [DEFAULT 默认值] [COMMENT '字段说明'],
  /* 关联字段 - 软关联（使用UUID） */
  `关联表id` CHAR(36) [NOT NULL] [DEFAULT NULL] COMMENT '关联到XX表的UUID',
  /* 业务字段结束 */
  
  PRIMARY KEY (`id`),
  /* 索引定义 */
  UNIQUE KEY `索引名称` (`字段名`),
  KEY `idx_关联字段` (`关联表id`) COMMENT '优化关联查询'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='表说明';

-- ============================================
-- UUID生成说明
-- ============================================
-- 1. 应用层生成：使用Go的uuid.NewString()生成UUID
--    示例：id := uuid.NewString()
-- 2. 数据库层生成：使用MySQL的UUID()函数（不推荐，性能较差）
--    示例：INSERT INTO table (id, ...) VALUES (UUID(), ...)
-- 3. 推荐方式：在应用层生成UUID，然后插入数据库
-- ============================================

-- ============================================
-- 旧版本模板（bigint主键，已废弃）
-- ============================================
-- CREATE TABLE `表名` (
--   `id` bigint NOT NULL AUTO_INCREMENT,
--   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
--   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
--   `delete_time` datetime DEFAULT NULL COMMENT '删除时间',
--   `del_state` tinyint NOT NULL DEFAULT '0',
--   `version` bigint NOT NULL DEFAULT '0' COMMENT '版本号',
--
--   /* 业务字段开始 */
--   `字段1` 数据类型 [约束条件] [DEFAULT 默认值] [COMMENT '字段说明'],
--   `字段2` 数据类型 [约束条件] [DEFAULT 默认值] [COMMENT '字段说明'],
--   /* 关联字段 - 软关联 */
--   `关联表id` bigint [NOT NULL] [DEFAULT '0'] COMMENT '关联到XX表的id',
--   /* 业务字段结束 */
--
--   PRIMARY KEY (`id`),
--   /* 索引定义 */
--   UNIQUE KEY `索引名称` (`字段名`),
--   KEY `idx_关联字段` (`关联表id`) COMMENT '优化关联查询'
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='表说明';
-- ============================================