Goose迁移PostgreSQL SQL命令失败问题求助
问题排查与解决
核心问题:Goose迁移指令大小写不匹配
Goose对迁移文件中的指令大小写有严格要求,你写的-- +goose UP是全大写,不符合它的解析规则,必须写成-- +goose Up(首字母大写,后续字母小写)。这就是导致解析失败的直接原因。
修正后的005_feed_lastfetched.sql文件内容
-- +goose Up ALTER TABLE feeds ADD COLUMN last_fetched_at TIMESTAMP; -- +goose Down ALTER TABLE feeds DROP COLUMN last_fetched_at;
额外注意事项
- 虽然这次报错不是因为缺少Down逻辑,但建议每次迁移都补充对应的回滚语句,方便后续需要撤销变更时使用。
- 确认迁移文件的命名格式(
005_xxx.sql)和之前正常执行的文件一致,避免命名规则不一致导致的问题。
验证步骤
- 替换原005文件内容为上述修正后的代码
- 重新执行迁移命令:
goose postgres postgres://postgres:password@localhost:5432/blog-aggregator up
内容的提问来源于stack exchange,提问作者DAVID LEE
相关产品推荐
相关产品推荐

