023_create_ai_video_table.sql 1.6 KB

123456789101112131415161718192021222324252627282930313233343536
  1. -- AI视频生成记录表
  2. CREATE TABLE IF NOT EXISTS aigcspace.ai_video (
  3. id SERIAL PRIMARY KEY,
  4. user_id INTEGER NOT NULL,
  5. task_id VARCHAR(100) NOT NULL UNIQUE,
  6. model_name VARCHAR(100) NOT NULL,
  7. video_type VARCHAR(50) NOT NULL,
  8. input_params JSONB NOT NULL,
  9. prompt TEXT,
  10. actual_prompt TEXT,
  11. first_frame_url VARCHAR(500),
  12. last_frame_url VARCHAR(500),
  13. audio_url VARCHAR(500),
  14. video_url VARCHAR(500),
  15. video_duration NUMERIC(10, 2),
  16. resolution VARCHAR(20),
  17. status VARCHAR(20) NOT NULL DEFAULT 'PENDING',
  18. error_message TEXT,
  19. bill NUMERIC(10, 4) DEFAULT 0,
  20. submit_time TIMESTAMP,
  21. scheduled_time TIMESTAMP,
  22. end_time TIMESTAMP,
  23. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  24. updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  25. );
  26. CREATE INDEX IF NOT EXISTS idx_ai_video_user_id ON aigcspace.ai_video(user_id);
  27. CREATE INDEX IF NOT EXISTS idx_ai_video_task_id ON aigcspace.ai_video(task_id);
  28. CREATE INDEX IF NOT EXISTS idx_ai_video_status ON aigcspace.ai_video(status);
  29. CREATE INDEX IF NOT EXISTS idx_ai_video_created_at ON aigcspace.ai_video(created_at DESC);
  30. CREATE INDEX IF NOT EXISTS idx_ai_video_video_type ON aigcspace.ai_video(video_type);
  31. COMMENT ON TABLE aigcspace.ai_video IS 'AI视频生成记录表';
  32. COMMENT ON COLUMN aigcspace.ai_video.video_type IS '视频类型:t2v=文生视频,i2v=图生视频,s2v=数字人合成';
  33. COMMENT ON COLUMN aigcspace.ai_video.input_params IS '完整输入参数JSON,便于追溯';
  34. COMMENT ON COLUMN aigcspace.ai_video.actual_prompt IS '开启prompt_extend时返回的改写后提示词';