7e27640a26
- embed-migrations.ts:扫 ./drizzle/meta/_journal.json,生成 src/server/db/migrations.gen.ts,每条 SQL 通过 `import sql_<idx> from '../../../drizzle/<tag>.sql' with { type: 'text' }` 在 bun build --compile 时被静态嵌入二进制
- migrate.ts 重写:runtime 用 createHash('sha256') 计算迁移哈希,仅用 db.execute(sql) + db.transaction() 公开 API 写入 drizzle.__drizzle_migrations 簿记表(不依赖 @internal 的 db.dialect/db.session)
- db:generate 链 db:embed,保证 SQL 改动总是同步到 migrations.gen.ts
- Dockerfile 删 COPY drizzle/,binary 是部署唯一 artifact
- 同步 README / AGENTS / biome.json
23 lines
394 B
Docker
23 lines
394 B
Docker
FROM oven/bun:1.3.13 AS build
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package.json bun.lock ./
|
|
COPY patches ./patches
|
|
RUN bun install --frozen-lockfile
|
|
|
|
COPY . .
|
|
RUN bun run build \
|
|
&& bun run compile \
|
|
&& mv out/server-* out/server
|
|
|
|
FROM gcr.io/distroless/cc-debian13:nonroot
|
|
|
|
WORKDIR /app
|
|
COPY --from=build --chown=nonroot:nonroot /app/out/server ./server
|
|
|
|
ENV HOST=0.0.0.0
|
|
EXPOSE 3000
|
|
|
|
CMD ["./server"]
|