You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Diesel+SQLite执行迁移时提示无主键的问题排查

问题原因与解决方案

你的报错核心原因是**up.sql中CREATE TABLE语句末尾存在多余的逗号**,尽管SQLite本身支持这种末尾逗号语法,但Diesel的schema解析器无法正确处理,导致误判表没有主键。

修复后的up.sql代码

CREATE TABLE cycles (
    id INTEGER PRIMARY KEY
);

后续操作步骤

  • 若之前已经尝试过迁移,先回滚错误的迁移:
    diesel migration revert --database-url ~/.config/cycles/dev.sqlite
    
  • 重新执行迁移命令:
    diesel migration run --database-url ~/.config/cycles/dev.sqlite
    

额外检查项

  • 确认diesel.toml中的配置路径正确,migrations目录确实包含修改后的迁移文件
  • 确保使用的Diesel CLI版本与项目依赖的Diesel版本一致,避免版本兼容性问题

内容的提问来源于stack exchange,提问作者Nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 22:53:13