初始化
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
ALTER TABLE project_episodes ADD COLUMN redraw_script text;
|
||||
|
||||
INSERT INTO project_episodes (
|
||||
id, project_id, episode_no, name, cover_asset_id, source_video_asset_id,
|
||||
subtitle_asset_id, audio_source, source_language, status, analysis_message,
|
||||
redraw_script, created_at, updated_at
|
||||
)
|
||||
SELECT
|
||||
gen_random_uuid(), project.id, 1, '第1集', project.cover_asset_id,
|
||||
project.source_video_asset_id, project.subtitle_asset_id, project.audio_source,
|
||||
project.source_language, project.redraw_status, project.analysis_message,
|
||||
project.redraw_script, project.created_at, project.updated_at
|
||||
FROM creative_projects project
|
||||
WHERE project.project_type = 'video_redraw'
|
||||
AND project.deleted_at IS NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM project_episodes episode
|
||||
WHERE episode.project_id = project.id AND episode.deleted_at IS NULL
|
||||
);
|
||||
|
||||
WITH first_episode AS (
|
||||
SELECT DISTINCT ON (episode.project_id) episode.id, episode.project_id
|
||||
FROM project_episodes episode
|
||||
JOIN creative_projects project ON project.id = episode.project_id
|
||||
WHERE project.project_type = 'video_redraw' AND episode.deleted_at IS NULL
|
||||
ORDER BY episode.project_id, episode.episode_no, episode.created_at
|
||||
)
|
||||
UPDATE project_episodes episode
|
||||
SET cover_asset_id = COALESCE(episode.cover_asset_id, project.cover_asset_id),
|
||||
source_video_asset_id = COALESCE(episode.source_video_asset_id, project.source_video_asset_id),
|
||||
subtitle_asset_id = COALESCE(episode.subtitle_asset_id, project.subtitle_asset_id),
|
||||
audio_source = project.audio_source,
|
||||
source_language = COALESCE(episode.source_language, project.source_language),
|
||||
status = project.redraw_status,
|
||||
analysis_message = COALESCE(episode.analysis_message, project.analysis_message),
|
||||
redraw_script = COALESCE(episode.redraw_script, project.redraw_script)
|
||||
FROM first_episode
|
||||
JOIN creative_projects project ON project.id = first_episode.project_id
|
||||
WHERE episode.id = first_episode.id;
|
||||
|
||||
WITH first_episode AS (
|
||||
SELECT DISTINCT ON (episode.project_id) episode.id, episode.project_id
|
||||
FROM project_episodes episode
|
||||
JOIN creative_projects project ON project.id = episode.project_id
|
||||
WHERE project.project_type = 'video_redraw' AND episode.deleted_at IS NULL
|
||||
ORDER BY episode.project_id, episode.episode_no, episode.created_at
|
||||
)
|
||||
UPDATE episode_storyboards storyboard
|
||||
SET episode_id = first_episode.id, project_id = NULL
|
||||
FROM first_episode
|
||||
WHERE storyboard.project_id = first_episode.project_id;
|
||||
|
||||
WITH first_episode AS (
|
||||
SELECT DISTINCT ON (episode.project_id) episode.id, episode.project_id
|
||||
FROM project_episodes episode
|
||||
JOIN creative_projects project ON project.id = episode.project_id
|
||||
WHERE project.project_type = 'video_redraw' AND episode.deleted_at IS NULL
|
||||
ORDER BY episode.project_id, episode.episode_no, episode.created_at
|
||||
)
|
||||
UPDATE generation_tasks task
|
||||
SET episode_id = first_episode.id
|
||||
FROM first_episode
|
||||
WHERE task.project_id = first_episode.project_id AND task.episode_id IS NULL;
|
||||
Reference in New Issue
Block a user