migrate_publish.sql 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. -- =====================================================
  2. -- 视频发布模块 - 数据库迁移 SQL
  3. -- 执行方式: 登录 MySQL 后 source 此文件
  4. -- =====================================================
  5. -- 平台账号表
  6. CREATE TABLE IF NOT EXISTS `PlatformAccount` (
  7. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  8. `userId` INT NOT NULL,
  9. `platform` VARCHAR(20) NOT NULL COMMENT 'douyin, kuaishou, bilibili',
  10. `nickname` VARCHAR(100) NOT NULL DEFAULT '',
  11. `avatar` VARCHAR(500) NOT NULL DEFAULT '',
  12. `cookies` TEXT NOT NULL COMMENT '登录 Cookie',
  13. `headers` TEXT NULL COMMENT '关键请求头 JSON',
  14. `isValid` BOOLEAN NOT NULL DEFAULT TRUE,
  15. `expireTime` DATETIME NULL,
  16. `createdAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  17. `updatedAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  18. UNIQUE KEY `userId_platform` (`userId`, `platform`),
  19. INDEX `idx_userId` (`userId`),
  20. INDEX `idx_platform` (`platform`)
  21. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  22. -- 发布任务表
  23. CREATE TABLE IF NOT EXISTS `PublishTask` (
  24. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  25. `userId` INT NOT NULL,
  26. `videoProjectId` INT NOT NULL,
  27. `platform` VARCHAR(20) NOT NULL COMMENT 'douyin, kuaishou, bilibili',
  28. `title` TEXT NOT NULL,
  29. `description` TEXT NULL,
  30. `tags` TEXT NULL COMMENT 'JSON 数组',
  31. `coverUrl` TEXT NULL,
  32. `videoUrl` TEXT NULL COMMENT '本地视频路径',
  33. `status` VARCHAR(20) NOT NULL DEFAULT 'pending' COMMENT 'pending, uploading, success, failed',
  34. `errorMsg` TEXT NULL,
  35. `publishedUrl` TEXT NULL COMMENT '发布后的作品链接',
  36. `createdAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  37. `updatedAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  38. INDEX `idx_user_platform` (`userId`, `platform`),
  39. INDEX `idx_status` (`status`)
  40. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;