56 lines
2.4 KiB
SQL
56 lines
2.4 KiB
SQL
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;
|