media.sql 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. CREATE DATABASE IF NOT EXISTS wy_media DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
  2. USE wy_media;
  3. -- ------------------------------
  4. -- 1. 媒体文件信息表(全局媒体文件存储)
  5. -- ------------------------------
  6. CREATE TABLE `media_file` (
  7. `id` BIGINT AUTO_INCREMENT PRIMARY KEY,
  8. `original_name` VARCHAR(255) NOT NULL COMMENT '原始文件名',
  9. `file_name` VARCHAR(255) NOT NULL COMMENT '存储文件名(系统生成的唯一文件名)',
  10. `file_type` VARCHAR(20) NOT NULL COMMENT '文件类型:image、audio、video',
  11. `file_size` BIGINT COMMENT '文件大小(字节)',
  12. `bucket_name` VARCHAR(100) NOT NULL COMMENT '存储桶名称',
  13. `file_url` VARCHAR(500) NOT NULL COMMENT '文件访问URL',
  14. `storage_type` VARCHAR(20) DEFAULT 'oss' COMMENT '存储类型(oss、local、minio等)',
  15. `status` TINYINT DEFAULT 0 COMMENT '文件状态:0-正常,1-已删除(逻辑删除)',
  16. `md5` VARCHAR(32) COMMENT '文件MD5值',
  17. `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  18. `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  19. INDEX `idx_file_type` (`file_type`),
  20. INDEX `idx_bucket_name` (`bucket_name`),
  21. INDEX `idx_create_time` (`create_time`),
  22. INDEX `idx_md5` (`md5`)
  23. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='媒体文件信息表';
  24. -- ------------------------------
  25. -- 2. 艺人媒体文件历史记录表(关联artist服务的artist.id、本服务的media_file表)
  26. -- ------------------------------
  27. CREATE TABLE `artist_media_history` (
  28. `id` BIGINT AUTO_INCREMENT PRIMARY KEY,
  29. `artist_id` INT NOT NULL COMMENT '关联artist服务的artist.id',
  30. `media_type` VARCHAR(20) NOT NULL COMMENT '媒体类型: avatar、header_image等',
  31. `media_file_id` BIGINT NOT NULL COMMENT '关联本服务的media_file.id',
  32. `is_current` TINYINT DEFAULT 0 COMMENT '是否为当前使用版本:0-否,1-是',
  33. `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  34. FOREIGN KEY (`media_file_id`) REFERENCES `media_file` (`id`) ON DELETE RESTRICT,
  35. UNIQUE KEY `uk_artist_media_current` (`artist_id`, `media_type`, `is_current`),
  36. INDEX `idx_artist_id` (`artist_id`) -- 逻辑关联索引
  37. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='艺人媒体文件历史记录表';