Add GIF regeneration and diagnostic scripts
Added utility scripts for GIF management: 1. regenerate-all-gifs.ts: - Regenerates GIF previews for all existing videos - Deletes old GIFs before creating new ones - Provides progress feedback and summary statistics - Useful for bulk GIF generation after deployment 2. check-gifs.ts: - Quick diagnostic to list all GIF records in database - Shows term names and GIF URLs - Useful for verifying GIF generation 3. insert-gif-test.ts: - Test script to verify GIF enum value works in database - Creates, verifies, and cleans up test GIF record - Includes Prisma query logging for debugging Usage: cd packages/backend npx tsx scripts/regenerate-all-gifs.ts npx tsx scripts/check-gifs.ts npx tsx scripts/insert-gif-test.ts Co-Authored-By: Auggie
This commit is contained in:
53
packages/backend/scripts/insert-gif-test.ts
Normal file
53
packages/backend/scripts/insert-gif-test.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
import { PrismaClient, MediaKind } from '@prisma/client';
|
||||
|
||||
const prisma = new PrismaClient({
|
||||
log: ['query', 'info', 'warn', 'error'],
|
||||
});
|
||||
|
||||
async function testInsert() {
|
||||
console.log('Testing GIF insert...\n');
|
||||
|
||||
try {
|
||||
// Get first video
|
||||
const video = await prisma.termMedia.findFirst({
|
||||
where: { kind: MediaKind.VIDEO },
|
||||
});
|
||||
|
||||
if (!video) {
|
||||
console.log('No video found');
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(`Found video: ${video.url}`);
|
||||
console.log(`Term ID: ${video.termId}\n`);
|
||||
|
||||
// Try to insert GIF
|
||||
const gif = await prisma.termMedia.create({
|
||||
data: {
|
||||
termId: video.termId,
|
||||
kind: MediaKind.GIF,
|
||||
url: '/uploads/gifs/test.gif',
|
||||
},
|
||||
});
|
||||
|
||||
console.log('✅ GIF created:', gif);
|
||||
|
||||
// Verify it exists
|
||||
const check = await prisma.termMedia.findUnique({
|
||||
where: { id: gif.id },
|
||||
});
|
||||
|
||||
console.log('\n✅ Verification:', check);
|
||||
|
||||
// Clean up
|
||||
await prisma.termMedia.delete({ where: { id: gif.id } });
|
||||
console.log('\n✅ Cleaned up test record');
|
||||
} catch (error) {
|
||||
console.error('❌ Error:', error);
|
||||
} finally {
|
||||
await prisma.$disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
testInsert();
|
||||
|
||||
Reference in New Issue
Block a user