001project_wildgrowth/backend/scripts/update-course-cover.ts

63 lines
1.6 KiB
TypeScript

/**
* 脚本:更新课程的封面图片
*
* 使用方法:
* npx ts-node scripts/update-course-cover.ts
*/
import prisma from '../src/utils/prisma';
async function updateCourseCover() {
try {
console.log('🚀 开始更新课程封面...\n');
// 更新"高效沟通的艺术"课程的封面
const courseId = 'course_vertical_001';
const coverImage = 'images/a0c457c5-4a4c-4cd1-9d17-641e400ab875.PNG';
console.log(`📖 更新课程: ${courseId}`);
console.log(` - 封面: ${coverImage}`);
const course = await prisma.course.findUnique({
where: { id: courseId },
select: { id: true, title: true, coverImage: true },
});
if (!course) {
console.error(`❌ 课程不存在: ${courseId}`);
return;
}
console.log(` - 当前标题: ${course.title}`);
console.log(` - 当前封面: ${course.coverImage || 'null'}`);
// 更新封面
const updatedCourse = await prisma.course.update({
where: { id: courseId },
data: { coverImage },
select: { id: true, title: true, coverImage: true },
});
console.log(`\n✅ 更新成功!`);
console.log(` - 课程: ${updatedCourse.title}`);
console.log(` - 新封面: ${updatedCourse.coverImage}`);
} catch (error) {
console.error('❌ 更新失败:', error);
throw error;
} finally {
await prisma.$disconnect();
}
}
// 执行更新
updateCourseCover()
.then(() => {
console.log('\n✅ 脚本执行完成');
process.exit(0);
})
.catch((error) => {
console.error('\n❌ 脚本执行失败:', error);
process.exit(1);
});