Skip to content

Commit 64865e2

Browse files
committed
Fix db in local dev
1 parent 27b42b1 commit 64865e2

2 files changed

Lines changed: 31 additions & 1 deletion

File tree

server/src/db/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
import { BunSqliteDialect } from 'kysely-bun-worker/normal'
1010
import type { Address } from 'viem'
1111

12+
import { isDocker } from '../docker'
1213
import { migrator } from './migrator'
1314

1415
interface ChainRow {
@@ -57,8 +58,9 @@ export type Tables = {
5758
async function createDatabase() {
5859
const db = new Kysely<Tables>({
5960
dialect: new BunSqliteDialect({
60-
url: '/app/data/db.sqlite',
61+
url: isDocker() ? '/app/data/db.sqlite' : 'db.sqlite',
6162
}),
63+
plugins: [new CamelCasePlugin()],
6264
})
6365

6466
await sql`PRAGMA foreign_keys = ON`.execute(db)

server/src/docker.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { readFileSync, statSync } from 'node:fs'
2+
3+
let isDockerCached: boolean
4+
5+
function hasDockerEnv() {
6+
try {
7+
statSync('/.dockerenv')
8+
return true
9+
} catch {
10+
return false
11+
}
12+
}
13+
14+
function hasDockerCGroup() {
15+
try {
16+
return readFileSync('/proc/self/cgroup', 'utf8').includes('docker')
17+
} catch {
18+
return false
19+
}
20+
}
21+
22+
export function isDocker() {
23+
if (isDockerCached === undefined) {
24+
isDockerCached = hasDockerEnv() || hasDockerCGroup()
25+
}
26+
27+
return isDockerCached
28+
}

0 commit comments

Comments
 (0)