drizzle-team / drizzle-team/drizzle-orm
[BUG]: Closing drizzle-studio with ctrl+c causes corrupted PGLite database
- Dominant language
- TypeScript
- Stars
- 35.8k
- Forks
- 1.6k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 4
Description
### What version of `drizzle-orm` are you using?
0.33.0
### What version of `drizzle-kit` are you using?
0.24.2
### Describe the Bug
After running a few `DELETE FROM` commands in the query runner in Drizzle Studio, I must have closed the cli too early, because upon running my server again I got the following error from PGLite:
```
RuntimeError: Aborted(). Build with -sASSERTIONS for more info.
at abort (/Users/robertlong/Workspace/sidekick-server/node_modules/.pnpm/@electric-sql+pglite@0.2.7/node_modules/@electric-sql/pglite/dist/postgres.js:740:11)
at __abort_js (/Users/robertlong/Workspace/sidekick-server/node_modules/.pnpm/@electric-sql+pglite@0.2.7/node_modules/@electric-sql/pglite/dist/postgres.js:7244:7)
at postgres.wasm.abort (wasm://wasm/postgres.wasm-02856b0a:wasm-function[14927]:0x6db55a)
at postgres.wasm.errfinish (wasm://wasm/postgres.wasm-02856b0a:wasm-function[5153]:0x205c39)
at postgres.wasm.InitWalRecovery (wasm://wasm/postgres.wasm-02856b0a:wasm-function[11909]:0x52ce57)
at postgres.wasm.StartupXLOG (wasm://wasm/postgres.wasm-02856b0a:wasm-function[11579]:0x5076b2)
at postgres.wasm.InitPostgres (wasm://wasm/postgres.wasm-02856b0a:wasm-function[874]:0x98cb8)
at postgres.wasm.AsyncPostgresSingleUserMain (wasm://wasm/postgres.wasm-02856b0a:wasm-function[6038]:0x264cbc)
at postgres.wasm.pg_initdb (wasm://wasm/postgres.wasm-02856b0a:wasm-function[8324]:0x341265)
at Object.Module._pg_initdb (/Users/robertlong/Workspace/sidekick-server/node_modules/.pnpm/@electric-sql+pglite@0.2.7/node_modules/@electric-sql/pglite/dist/postgres.js:10397:109)
```
The last time I saw this error, it was when I forgot to call `await pg.close()` in my migration script. I expect this is for similar reasons.
### Expected behavior
Upon receiving a termination signal, the drizzle-studio should close the database connection gracefully. The [close-with-grace](https://github.com/mcollina/close-with-grace) package could help with this.
### Environment & setup
Local node.js 22 macOS development environment with PGLite.
Contributor guide
Assessment
This issue has not been assessed yet.