with db.ts like so (pretty basic)
import { PrismaClient } from '@prisma/client/react-native'
import '@prisma/react-native'
export const db = new PrismaClient({
log: ['error'],
})
export async function initializeDb() {
try {
db.$applyPendingMigrations()
console.log('migrations complete')
} catch (e) {
console.error(`failed to apply migrations: ${e}`)
throw new Error('Applying migrations failed, your app is now in an inconsistent state. We cannot guarantee safety, it is now your responsibility to reset the database or tell the user to re-install the app')
}
}
the app crashes after calling this function
useEffect(() => {
async function init() {
await initializeDb() // <-
}
init()
}, [])
with the following schema
generator client {
provider = "prisma-client-js"
previewFeatures = ["reactNative", "driverAdapters"]
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
directUrl = env("DIRECT_URL")
}
model User {
id Int @id @default(autoincrement())
username String
}