Files
dbis_core/scripts/refactor-prisma.sh

39 lines
1.1 KiB
Bash
Raw Permalink Normal View History

2025-12-12 15:02:56 -08:00
#!/bin/bash
# Script to refactor Prisma Client instances to use singleton
# Usage: ./scripts/refactor-prisma.sh
echo "Refactoring Prisma Client instances..."
# Find all TypeScript files with PrismaClient
find src -name "*.ts" -type f | while read file; do
# Skip if already using singleton
if grep -q "from '@/shared/database/prisma'" "$file"; then
continue
fi
# Check if file has "new PrismaClient()"
if grep -q "new PrismaClient()" "$file"; then
echo "Processing: $file"
# Create backup
cp "$file" "$file.bak"
# Replace import
sed -i "s/import { PrismaClient } from '@prisma\/client';/import prisma from '@\/shared\/database\/prisma';/g" "$file"
# Remove const prisma = new PrismaClient();
sed -i "/const prisma = new PrismaClient();/d" "$file"
# If PrismaClient is still imported but not used, remove the import line
if ! grep -q "PrismaClient" "$file"; then
sed -i "/^import.*PrismaClient/d" "$file"
fi
echo " ✓ Refactored: $file"
fi
done
echo "Refactoring complete!"
echo "Note: Review changes and remove .bak files after verification"