Initial commit
This commit is contained in:
38
scripts/refactor-prisma.sh
Executable file
38
scripts/refactor-prisma.sh
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/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"
|
||||
|
||||
Reference in New Issue
Block a user