ALTER TABLE `projects` ADD COLUMN `output_mode` VARCHAR(50) NOT NULL DEFAULT 'image_manga' AFTER `output_type`, ADD COLUMN `visual_mode` VARCHAR(100) NULL AFTER `output_mode`, ADD COLUMN `video_generation_level` VARCHAR(50) NULL AFTER `visual_mode`; ALTER TABLE `storyboard_shots` ADD COLUMN `live_action_desc` TEXT NULL AFTER `negative_prompt`, ADD COLUMN `actor_action` TEXT NULL AFTER `live_action_desc`, ADD COLUMN `camera_instruction` TEXT NULL AFTER `actor_action`, ADD COLUMN `performance_instruction` TEXT NULL AFTER `camera_instruction`, ADD COLUMN `video_prompt` TEXT NULL AFTER `performance_instruction`, ADD COLUMN `keyframe_asset_id` BIGINT NULL AFTER `video_prompt`, ADD COLUMN `video_clip_asset_id` BIGINT NULL AFTER `keyframe_asset_id`, ADD COLUMN `video_status` VARCHAR(50) NULL AFTER `video_clip_asset_id`; CREATE TABLE `actor_profiles` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `project_id` BIGINT NOT NULL, `character_id` BIGINT NOT NULL, `actor_desc` TEXT NULL, `appearance_rules` TEXT NULL, `wardrobe_rules` TEXT NULL, `performance_style` TEXT NULL, `voice_style` TEXT NULL, `reference_asset_ids` JSON NULL, `anchor_asset_id` BIGINT NULL, `status` VARCHAR(50) NOT NULL DEFAULT 'draft', `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updated_at` DATETIME(3) NOT NULL, UNIQUE INDEX `actor_profiles_project_id_character_id_key`(`project_id`, `character_id`), INDEX `actor_profiles_project_id_status_idx`(`project_id`, `status`), INDEX `actor_profiles_character_id_idx`(`character_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE TABLE `video_clips` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `project_id` BIGINT NOT NULL, `episode_id` BIGINT NOT NULL, `shot_id` BIGINT NOT NULL, `provider_id` BIGINT NULL, `input_asset_id` BIGINT NULL, `output_asset_id` BIGINT NULL, `duration` DECIMAL(6, 2) NULL, `prompt_text` TEXT NULL, `status` VARCHAR(50) NOT NULL DEFAULT 'pending', `cost_actual` DECIMAL(12, 4) NULL, `retry_count` INTEGER NOT NULL DEFAULT 0, `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updated_at` DATETIME(3) NOT NULL, INDEX `video_clips_project_id_episode_id_idx`(`project_id`, `episode_id`), INDEX `video_clips_shot_id_status_idx`(`shot_id`, `status`), INDEX `video_clips_provider_id_idx`(`provider_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;