mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
80 lines
2.9 KiB
JavaScript
80 lines
2.9 KiB
JavaScript
// Test script to debug Prisma adapter initialization
|
|
const { PrismaClient } = require('@prisma/client');
|
|
const { PrismaBetterSqlite3 } = require('@prisma/adapter-better-sqlite3');
|
|
const Database = require('better-sqlite3');
|
|
|
|
console.log('Testing Prisma adapter initialization...\n');
|
|
|
|
// Test 1: Direct database path
|
|
console.log('Test 1: Using direct path');
|
|
try {
|
|
const dbPath1 = './prisma/prisma/dev.db';
|
|
console.log(` Database path: ${dbPath1}`);
|
|
const db1 = new Database(dbPath1);
|
|
console.log(' ✓ Database opened successfully');
|
|
const adapter1 = new PrismaBetterSqlite3(db1);
|
|
console.log(' ✓ Adapter created successfully');
|
|
const prisma1 = new PrismaClient({ adapter: adapter1 });
|
|
console.log(' ✓ PrismaClient created successfully');
|
|
|
|
// Try a simple query
|
|
prisma1.user.findMany().then(users => {
|
|
console.log(` ✓ Query successful, found ${users.length} users`);
|
|
prisma1.$disconnect();
|
|
}).catch(err => {
|
|
console.log(` ✗ Query failed: ${err.message}`);
|
|
prisma1.$disconnect();
|
|
});
|
|
} catch (error) {
|
|
console.log(` ✗ Error: ${error.message}`);
|
|
console.log(` Stack: ${error.stack}`);
|
|
}
|
|
|
|
// Test 2: Using environment variable style path
|
|
console.log('\nTest 2: Using file: prefix');
|
|
try {
|
|
const databaseUrl = 'file:./prisma/prisma/dev.db';
|
|
const dbPath2 = databaseUrl.replace('file:', '');
|
|
console.log(` Database URL: ${databaseUrl}`);
|
|
console.log(` Resolved path: ${dbPath2}`);
|
|
const db2 = new Database(dbPath2);
|
|
console.log(' ✓ Database opened successfully');
|
|
const adapter2 = new PrismaBetterSqlite3(db2);
|
|
console.log(' ✓ Adapter created successfully');
|
|
const prisma2 = new PrismaClient({ adapter: adapter2 });
|
|
console.log(' ✓ PrismaClient created successfully');
|
|
|
|
// Try a simple query
|
|
prisma2.user.count().then(count => {
|
|
console.log(` ✓ Count query successful, ${count} users total`);
|
|
prisma2.$disconnect();
|
|
}).catch(err => {
|
|
console.log(` ✗ Query failed: ${err.message}`);
|
|
prisma2.$disconnect();
|
|
});
|
|
} catch (error) {
|
|
console.log(` ✗ Error: ${error.message}`);
|
|
console.log(` Stack: ${error.stack}`);
|
|
}
|
|
|
|
// Test 3: Check what happens with undefined
|
|
console.log('\nTest 3: Testing undefined handling');
|
|
try {
|
|
const databaseUrl = undefined;
|
|
const dbPath3 = databaseUrl?.replace('file:', '') || './prisma/prisma/dev.db';
|
|
console.log(` Database URL: ${databaseUrl}`);
|
|
console.log(` Resolved path: ${dbPath3}`);
|
|
const db3 = new Database(dbPath3);
|
|
console.log(' ✓ Database opened successfully');
|
|
const adapter3 = new PrismaBetterSqlite3(db3);
|
|
console.log(' ✓ Adapter created successfully');
|
|
const prisma3 = new PrismaClient({ adapter: adapter3 });
|
|
console.log(' ✓ PrismaClient created successfully');
|
|
prisma3.$disconnect();
|
|
} catch (error) {
|
|
console.log(` ✗ Error: ${error.message}`);
|
|
console.log(` Stack: ${error.stack}`);
|
|
}
|
|
|
|
console.log('\nAll tests completed!');
|