import com.tzld.videoVector.Application; import com.tzld.videoVector.job.DataMigrationJob; import com.xxl.job.core.biz.model.ReturnT; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest(classes = Application.class) @Slf4j public class DataMigrationTest { @Autowired private DataMigrationJob dataMigrationJob; /** * 迁移 deconstruct_vector_config(建议最先执行) */ @Test public void testMigrateVectorConfig() { ReturnT result = dataMigrationJob.migrateVectorConfigToPgJob(""); log.info("migrateVectorConfigToPgJob 结果: code={}", result.getCode()); } /** * 迁移 deconstruct_content */ @Test public void testMigrateContent() { ReturnT result = dataMigrationJob.migrateContentToPgJob(""); log.info("migrateContentToPgJob 结果: code={}", result.getCode()); } /** * 迁移 deconstruct_content_vector → content_vectors */ @Test public void testMigrateContentVector() { ReturnT result = dataMigrationJob.migrateContentVectorToPgJob(""); log.info("migrateContentVectorToPgJob 结果: code={}", result.getCode()); } /** * 迁移 Redis 视频向量 → video_vectors(跳过多点模式) */ @Test public void testMigrateRedisVector() { ReturnT result = dataMigrationJob.migrateRedisVectorToPgJob(""); log.info("migrateRedisVectorToPgJob 结果: code={}", result.getCode()); } /** * 一键执行全部迁移(按依赖顺序) */ @Test public void testMigrateAll() { log.info("===== 开始全量数据迁移 ====="); log.info("--- 1. 迁移向量化配置 ---"); dataMigrationJob.migrateVectorConfigToPgJob(""); log.info("--- 2. 迁移解构内容 ---"); dataMigrationJob.migrateContentToPgJob(""); log.info("--- 3. 迁移素材向量 ---"); dataMigrationJob.migrateContentVectorToPgJob(""); log.info("--- 4. 迁移Redis视频向量 ---"); dataMigrationJob.migrateRedisVectorToPgJob(""); log.info("===== 全量数据迁移完成 ====="); } }