用 MySQL 作为 SaaS 数据库
用 Drizzle ORM 把 ShipAny 应用跑在 MySQL 5.7+ 上——连接串、MySQL 表结构模板、生产迁移,以及在 Cloudflare Workers 上通过 Hyperdrive 连接。
最后更新: 2026年10月8日
已经在用 MySQL?ShipAny 提供了专门的 MySQL 表结构模板,可以直接使用你现有的 MySQL 5.7+ 服务器或托管服务,不需要迁到 Postgres。
ShipAny 帮你做了什么
- MySQL 表结构:覆盖所有内置表,通过 Drizzle 提供类型化模型。
- 开发与生产两套流程:本地
db:push,生产db:generate+db:migrate生成可审查的迁移。 - Cloudflare Workers 上支持 Hyperdrive:MySQL 驱动同样会从
HYPERDRIVE绑定读取连接。
配置步骤
- 创建数据库,以及对该库拥有完整权限的用户。
- 设置环境变量:
DATABASE_PROVIDER=mysql
DATABASE_URL=<你的 MySQL 连接串> # mysql://…,端口 3306
- 运行
pnpm db:setup复制 MySQL 表结构模板,再用pnpm db:push建表(生产环境改为生成并执行迁移)。 - 运行
pnpm rbac:init初始化角色和权限。
注意事项
- 使用 MySQL 5.7 及以上版本,默认字符集设为
utf8mb4,emoji 和中日韩文字才能正确保存。 - 上线前检查生成的迁移——MySQL 修改列可能会锁住大表。
