electric-sql / pglite

Lightweight WASM Postgres with real-time, reactive bindings.
https://pglite.dev
Apache License 2.0
9.45k stars 204 forks source link

[Feature Request] `duplicate` method to copy a PGLite DB into a new DB #416

Open Scalahansolo opened 2 weeks ago

Scalahansolo commented 2 weeks ago

I wanted to throw out an idea for PGLite. I want to use it for a bunch of jest tests in our backend application. So far I have a setup that is working nicely. But... it takes roughly ~1-2 seconds to push my schema into the DB with Drizzle and than seed it with base data that is used in a ton of our tests.

It would be really awesome if I could set up a PGLite DB at the beginning of our test runs in something akin to globalSetup in jest, where I establish the DB and seed it with data, than pass that instance to all the suites. In the before all for each of the suites, they would call this duplicate method on the DB. This way each suite wouldn't have the pay the "start up" cost of getting the DB ready to run against.