-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest-prisma-accelerate.js
More file actions
66 lines (57 loc) · 2.06 KB
/
test-prisma-accelerate.js
File metadata and controls
66 lines (57 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Test script for Prisma Accelerate
// This script tests the connection to your database through Prisma Accelerate
require('dotenv').config({ path: '.env.test' });
const { PrismaClient } = require('@prisma/client');
// Check if we have the required environment variables
if (!process.env.DATABASE_URL || !process.env.DATABASE_URL.startsWith('prisma://')) {
console.error('Error: DATABASE_URL must be a valid Prisma Accelerate URL starting with prisma://');
console.error('Current DATABASE_URL:', process.env.DATABASE_URL);
console.error('Please update your .env.test file with a valid Prisma Accelerate URL');
process.exit(1);
}
console.log('Testing Prisma Accelerate connection...');
console.log('Using DATABASE_URL:', process.env.DATABASE_URL);
// Initialize Prisma client with Accelerate URL
const prisma = new PrismaClient({
datasources: {
db: {
url: process.env.DATABASE_URL,
},
},
});
async function testConnection() {
try {
// Attempt a simple query
console.log('Attempting to query the database...');
const result = await prisma.user.findMany({
take: 1,
});
console.log('Connection successful!');
console.log('Retrieved data:', JSON.stringify(result, null, 2));
return true;
} catch (error) {
console.error('Connection failed:');
console.error(error);
return false;
} finally {
await prisma.$disconnect();
}
}
testConnection()
.then(success => {
if (success) {
console.log('Prisma Accelerate is working correctly!');
} else {
console.error('Failed to connect using Prisma Accelerate.');
console.log('Make sure you have:');
console.log('1. Created a Prisma Accelerate project at https://cloud.prisma.io');
console.log('2. Added your database connection string to the project');
console.log('3. Generated an API key');
console.log('4. Updated your .env.test file with the correct Prisma Accelerate URL');
}
process.exit(success ? 0 : 1);
})
.catch(error => {
console.error('Unexpected error:', error);
process.exit(1);
});