[Feature Request] Migration Diff Validation Against schema.zmodel for CI Pipeline
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- typescript
调研方向
The request is a zen migrate diff command that fails CI when prisma/migrations no longer matches the schema generated from schema.zmodel. Start by finding how the existing zen generate, zen db push and zen migrate deploy commands are wired in the CLI, and how zmodel is turned into prisma/schema.prisma. The suggested route shells out to prisma migrate diff --exit-code --from-migrations ... --to-schema-datamodel ... with a shadow DB URL. Done means CI exits non-zero when a migration is missing.
由索引模型根据 Issue 内容生成。
描述
Is your feature request related to a problem? Please describe.
Here's what often happens:
- I changed
schema.zmodel - I ran
zen generate - I ran
zen db pushfor dev environment DB - No TypeScript errors
- I pushed to production.
- CI checked migration status is OK.
Later, users encounter errors, because I forgot to create the migration for the production DB.
The problem is that the developers are often forget to create the migration, so zen migrate deploy in CI would result in No pending migrations to apply.. Forgetting to create the migration is what I want to prevent, since in dev/local we could just do zen db push.
Describe the solution you'd like
A simple command for CI process to check the migrations consistency with the schema, like:
zen migrate diff
Describe alternatives you've considered
Hacky solution (not tested yet), idea from AI and others:
- Generate the prisma schema version from zmodel.
- Check the schema consistency by running
prisma migrate diff --exit-code --from-migrations prisma/migrations --to-schema-datamodel prisma/schema.prisma --shadow-database-url "$SHADOW_DATABASE_URL"
Additional context
Relevant posts:
- My help post in Discord: https://discord.com/channels/1035538056146595961/1517385653522792469
- Ludo's help post in Discord: https://discord.com/channels/1035538056146595961/1503377278674010123
- 主要语言
- TypeScript
- 星标
- 2.9k
- 派生
- 157
- 平均合并
- 11 小时 42 分钟
- 30 天内合并 PR
- 20
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
zenstackhq/zenstack 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
zenstackhq/zenstack#2873 ·
维护者通常 1 天内回复
-
runtime
难度 2/5 1-3 小时 新手友好度 78/100
zenstackhq/zenstack#2868 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
zenstackhq/zenstack#2694 · 3 条评论 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 68/100
zenstackhq/zenstack#2659 · 2 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
zenstackhq/zenstack#2542 · 1 条评论 ·
维护者通常 1 天内回复
查看 zenstackhq/zenstack 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
维护者通常 1 天内回复
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:other issue-rating: 🦞 diamond lobster no-stale P2
难度 2/5 1-3 小时 新手友好度 72/100
openclaw/openclaw#168089 · 2 条评论 · 1 个 reaction ·
维护者通常 1 天内回复
-
✨ enhancement needs-discussion
难度 1/5 1 小时以内 新手友好度 85/100
-
[Bug]: [MCP/CLI] Bare loopback IP addresses (127.0.0.1:port) and hosts with ports fail to navigate due to erroneous scheme inference可能已有人在做 @alok-108 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
microsoft/playwright#43263 ·
维护者通常 1 天内回复
-
area:studio type:security
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复