golang-migrate 初始迁移时没有更改错误

标签 go golang-migrate

我正在使用 golang-migrate 来管理迁移,在 github actions CI 上运行测试时,一切似乎都能正常工作,但在运行时我无法使其工作在 docker 图像上。我总是收到 nochange 错误。与数据库的连接已建立,.sql 迁移也可以正常工作。关于如何调试实际发生的情况有什么建议吗?

func runMigrations(databaseUrl string) {
    m, err := migrate.New(
        "file://migrations/",
        databaseUrl,
    )

    if err != nil {
        log.Fatalf("Error loading migrations: %v", err)
    }

    if err := m.Up(); err != nil {
        log.Printf("Error migrating Up: %v", err)
    }
}

最佳答案

您可能需要在代码中添加一个检查err != migrate.ErrNoChange。在本例中,“migrate”是包的名称

https://github.com/golang-migrate/migrate/issues/100

关于golang-migrate 初始迁移时没有更改错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67910574/

相关文章:

go - dovecot:lmtp:错误: fatal error :无法保留页面摘要内存

MongoDB:我应该一直保持全局 session 吗?

go - slice 中只留下 n 个元素

go - json字符串数组到golang中的结构数组?

go - 优雅地处理 gin-gonic 中的模板渲染错误

go - 为什么 `go get` 在 Travis CI 构建中开始失败?

string - slice 显示在带有行和列的列表中

使用 golang-migrate/migrate 进行 Gorm 迁移

go - Beego 跳过一些迁移