Skip to content

Commit 1a40c4f

Browse files
committedOct 13, 2024·
fix(sqlite): support :memory:
1 parent a413070 commit 1a40c4f

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed
 

‎docs/2.connectors/sqlite.md

+5-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import sqlite from "db0/connectors/better-sqlite3";
2222

2323
const db = createDatabase(
2424
sqlite({
25-
/* options */
25+
name: ":memory:",
2626
}),
2727
);
2828
```
@@ -35,7 +35,10 @@ Working directory to create database. Default is current working directory of pr
3535

3636
### `name`
3737

38-
Database (file) name. Default is `db`
38+
Database (file) name. Default is `db`.
39+
40+
> [!NOTE]
41+
> You can use `:memory:` as name for in-memory storage.
3942
4043
### `path`
4144

‎src/connectors/better-sqlite3.ts

+4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ export default function sqliteConnector(opts: ConnectorOptions) {
1616
if (_db) {
1717
return _db;
1818
}
19+
if (opts.name === ":memory:") {
20+
_db = new Database(":memory:");
21+
return _db;
22+
}
1923
const filePath = resolve(
2024
opts.cwd || ".",
2125
opts.path || `.data/${opts.name || "db"}.sqlite3`,

‎test/connectors/better-sqlite3.test.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@ import connector from "../../src/connectors/better-sqlite3";
55
import { testConnector } from "./_tests";
66

77
describe("connectors: better-sqlite3", () => {
8-
const tmpDir = fileURLToPath(new URL(".tmp/better-sqlite3", import.meta.url));
9-
rmSync(tmpDir, { recursive: true, force: true });
108
testConnector({
119
dialect: "sqlite",
1210
connector: connector({
13-
cwd: tmpDir,
11+
name: ":memory:",
1412
}),
1513
});
1614
});

0 commit comments

Comments
 (0)
Please sign in to comment.