-
Notifications
You must be signed in to change notification settings - Fork 14
Description
Improve documentation
I followed the pglite guide to get a local development-setup using pg-gateway, pglite and prisma running. I could not get it to work following the docs. I then tried to use the example/pglite of this repository to create a minimal reproduction. The minimal reproduction also did not work (see below).
Describe the problem
Minimum reproduction using the example/pglite fromm this repository.
First, clone the repo and install the required dependencies:
# clone this repo
git clone https://github.com/supabase-community/pg-gateway
# go into example dir
cd examples/pglite
# install dependencies
pnpm i
# install prisma
pnpm install @prisma/client prisma
# create the prisma schema file
make prisma
touch prisma/schema.prismaAdd the following content into the schema.prisma:
datasource db {
provider = "postgresql"
url = "postgres://postgres@localhost:5432"
}
model User {
id Int @id @default(autoincrement())
}Start the database:
pnpm dev
Attempt to push the schema in a parallel terminal:
> pnpm prisma db push
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "postgres", schema "public" at "localhost:5432"
Error: Schema engine error:
unexpected message from server
Running it a second time still yields an error, albeit a different one:
❯ pnpm prisma db push
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "postgres", schema "public" at "localhost:5432"
Error: Schema engine error:
ERROR: prepared statement "s0" already exists
Running these commands with DEBUG="*" set reveals that:
- during the first iteration prisma fails: when running
select version();, - during the second iteration the "prepared statement" that already exists is
select version();- so that is probably left over from the first run
Describe the improvement
Add a prisma-subsection that specifies any extra steps to get prisma to work.
Additional context
Exact package versions this is running on:
❯ pnpm list
Legend: production dependency, optional only, dev only
pglite-example /Users/n/.tmp/pg-gateway/examples/pglite
dependencies:
@prisma/client 5.18.0
pg-gateway 0.3.0-alpha.3
prisma 5.18.0
devDependencies:
@gregnr/pglite 0.2.0-dev.8
@types/node 20.14.15
tsx 4.17.0
typescript 5.5.4
As I'm unsure whether this is related to this package at all, desired behavior or a bug I opened this as a documentation issue - I hope that's alright! Thanks for this great package, it looks super promising and I'd love to use it to create a local postgres-development setup without having to spin up a full docker container every time!