更新日志
如何保持您的 ShipSaaS 项目与最新模板代码同步并拉取更新
ShipSaaS 会保持定期更新,带来新特性、错误修复和安全补丁。本文档介绍如何将您的项目与官方最新的代码库同步。
[!NOTE] 您对项目进行的代码自定义越多,合并更新时可能产生的冲突也就越多。在进行合并前,请务必提交您当前的全部工作,并保持 Git 工作区干净。
1. 拉取模板最新代码
如果您是通过克隆官方 GitHub 仓库开始项目的,您可以将官方仓库添加为 upstream,从而直接拉取最新代码:
# 将官方仓库添加为上游远程仓库
git remote add upstream https://github.com/ShipSaaS/shipsaas.git
# 获取官方的最新更改
git fetch upstream
# 为更新创建一个临时分支以防止主分支被直接破坏
git checkout -b update-template
# 将上游更改合并到该临时分支(如有必要,请在编辑器中仔细解决冲突)
git merge upstream/main2. 更新项目依赖
新版的模板可能会引入新的第三方依赖或升级现有的包,合并完成后请运行:
bun install3. 升级数据库架构
如果更新中包含了数据库 schema.ts 模式的变更,您需要重新生成并应用数据库迁移:
3.1 生成新的迁移文件
bun run db:generate3.2 应用迁移到数据库
# 应用迁移到本地模拟的 D1 数据库
bun run db:migrate:local
# 应用迁移到 Cloudflare 上的远程 D1 数据库
bun run db:migrate:remote4. 合并并推送到您的仓库
在本地彻底完成测试与冲突解决后,您可以将更新分支合并回您的 main 主分支,并推送到您的私有 GitHub 仓库:
# 切换回主分支
git checkout main
# 合并刚才解决完冲突的更新分支
git merge update-template
# 推送到您自己的 origin 仓库
git push origin main5. 校验与验证
升级后,请确保运行以下本地指令以验证项目能够正常构建和运行:
# 启动开发服务器测试页面功能
bun run dev
# 运行代码检查与格式化
bun run lint
bun run format
# 运行生产包编译测试
bun run build