|
|
6fdc3c588e
|
chore(开发环境): 本机库改成靠迁移自举,db:migrate 换成线上同一个执行器
compose.dev.yml 不再把 schema dump 挂成 initdb:0000 就是完整的建表迁移,
起完库 bun run db:migrate 从 0000 自举即可。实测两条路子跑出来的结构一致 ——
空库自举 16 条迁移 vs 灌 dump + 打基线 + 跑迁移,pg_dump --schema-only
逐行零差异(1981 行)。docs/specs/schema.sql 与 sample-data.sql 随之删掉,
前者的内容已经在 0000_crazy_gateway.sql 里。
db:migrate 原来是 drizzle-kit migrate,和线上 oj2-api migrate 不是同一个
执行器:drizzle 那个所有迁移共用一个事务、跑不了 CREATE INDEX CONCURRENTLY,
对已打基线的库还会从 0000 撞表回滚且 exit 1 不打印任何错误。现在两边都走
db/migrate.ts。DATABASE_URL 从根目录 .env 读(--env-file),仓库里不留连接串。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-09-16 08:03:57 -06:00 |
|
|
|
b7adf2993d
|
fix(阶段3): 去掉判题机 token 的弱默认值
F5:token 校验实现本身是对的(用了 timingSafeEqual),问题是缺省值
"oj2-dev-token" 写死在仓库里 —— 写死在仓库里的 token 等于没有 token。
后端改为对齐旧后端 options/options.py:93 的 fail-safe:
env 缺失时生成随机值并在启动日志里告警,判题机连不上,但不会静默用弱默认值。
compose 改为 ${OJ2_JUDGE_TOKEN:?...},未设置直接报错退出。
本地开发怎么设写在 docker/compose.dev.yml 顶部与 .env.example 里:
两个变量名不同(判题机镜像认 TOKEN,后端认 JUDGE_SERVER_TOKEN)但值必须相同。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-07 01:59:27 -06:00 |
|
|
|
ec274419c3
|
Build Phase 2 judge vertical slice
|
2026-08-06 22:42:39 -06:00 |
|
|
|
901906328d
|
chore: 本机开发依赖 compose(postgres 16 + redis)
PostgreSQL 固定 16-alpine 与生产 16.10 对齐,首次启动自动灌入
docs/specs/schema.sql(仅结构)。端口错开为 5433 / 6380。
实测:34 张表与 schema.sql 逐一对应,差集 0,两个服务健康。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-06 20:32:48 -06:00 |
|