导航
把登录、评论、邮件和文件上传放进 Cloudflare 栈时,真正的边界不是框架,而是数据一致性和安全默认值。
边缘应用的启动成本很低,但这也意味着每条请求路径都要显式声明自己依赖什么。会话密钥、Turnstile、D1 迁移和邮件绑定不应该藏在页面组件里。
把这些边界收敛成小型工具函数后,路由文件只负责业务分支,测试也能直接覆盖安全行为。
D1 的表结构应该由 migrations 管理。运行时动态建表看似方便,但会让本地、预览和生产环境逐渐分叉。
兼容旧库可以保留读路径容错,但写路径应假设迁移已经完成,这样部署失败会尽早暴露。
CREATE TABLE IF NOT EXISTS admin_config (
id INTEGER PRIMARY KEY,
username TEXT NOT NULL,
password TEXT NOT NULL
);